View
220
Download
0
Category
Preview:
Citation preview
UNIVERSIDAD NACIONAL DE INGENIERIacuteA
FACULTAD DE C IENCIA S
ESCUELA PROFESIONAL DE FIacuteSICA
SIMULACIOacuteN DE UN SISTEMA DE MUacuteLTIPLES
OSCILADORES ACOPLADOS
UNIDIMENSIONALES
INFORME DE SUFICIENCIA
PARA OPTAR POR EL TIgraveTOLO PROFESIONAL DE
LICENCIADO EN FISICA
Presentado por
BACH EDSON JESUacuteS PLASENCIA SAacuteNCHEZ
Asesor
MSC EDGAR VIDALOacuteN VIDALOacuteN
LIMA-PERUacute
2 0 0 9
Con Gratifad Dedico e^e inforne a todos
quienes desinteresadamente me ayudado
a lleg^ aquiacute el diacutea de hoy en especial a mi
familia que auacuten soporta mis ^^noches
y a Dios quieacuten todo lo sabe y es frente
eterna de inspiracioacuten y sabiduriacutea
SIMULACIOacuteN DE TO SISTEMA DE MUacuteLTIPLES
O S C ^ ^ O ^ S ACOPLADOS
UNIDIMENSIONALES
Resumen
En el p re re ^ tobajo x ha simulado num eacuteric^ente el compotomiento de un unidtoensioral de osc^dores acoplados el cual x encuento aislado de agentes e ^ ^ ^ s talra como la ^ r a v ^ ^ y el r o ^ ^ ^ t o
Se su comportamiento cinemaacutetico para d^intos nuacutemeros de osciladores yd ^ ^ ^ di^buciones de enconaacutendose p ro p i^ ^ es que puedene^nderae hacia el wntmuo ( infinitos o rladores
Se p r e r e ^ el generalizado p^a ldquonrdquo o^iM ores unidimensionalesacoplados las respectivas ecuaciones de movimiento una interpretacioacuten algoriacutetoica de sus coeficientes en notacioacuten ^ ^ c i a l y la impleme^^ioacuten de una ^ te r ^ e ldquo^ ig a b le rdquo p ^ la simulacioacuten la misma que utilira un meacutetodo numeacuteriro auto-inicialirado ron ^ m o de p ^ ^ ^ ta tiv o de tal manera que optimirando los ^ ^ o s de una PC l o ^ mantener su regimiento incluso mte la t^ea de ejecutar 6 000 millones de caacutelculos
Abstract
In to s paper the mechanical evolution of a one-dimensional coupled-system has been Sim ula^ m s ^ s ^ m is ^ la te from e ^ ^ a l agents as Mction and ^ v ity
The ^ ^ ^ f o c s evolution of the system for different confi^rotions on weight and numbera of o^d^tora w ^ analy^ri and it w ^ found any properties that can be extended to foe cotamuo^ case ( ^^m te numbers of osciltatore)
fo drop foe g r o ^ ^ ^ ^ l^^m giro for ldquonrdquo orciltatore w ^ pre^nted also the rorrespond^ ^uations o f movement an algoritfonic interrelation of their repraenMion a ^ foe implemen^ion of a ldquofriendlyrdquo interface for simulation which use an auto-^^ted numerical method with an adaptati e step so it o p ^ ^ ^ the c o m p u ^ io ^ r a o ^ ^ ^ o fa PC in such a way foat kept ita p e rfo ^ ^ ro even when tern thou^rnds of imdions com p^tions ^ r ^ u ^ ^
Paacuteg 1
CONTENIDO
1 - Introduccioacuten4
2 - Descripcioacuten del Problema 5
3 - Ecuaciones de Movimiento
31 - Caso 2 osciladores 8
32 - Caso 3 osciladores 11
33 - Caso 4 osciladores 12
34 - Caso n osciladores 12
4 - Solucioacuten Numeacuterica
A - Casos con masas iguales
41 - Caso 2 osciladores 16
42 - Caso 3 osciladores20
43 - Caso 4 osciladores23
44 - Caso 20 osciladores26
45 - Caso 100 osciladores28
46 - Caso 1000 osciladores30
47 - Caso 10 000 osciladores32
B - Casos con masas diferentes
48 - Caso 2 osciladores M -m 35
49 - Caso 2 osciladores m-M 36
410 - Caso 3 osciladores M-m-m 37
Pag 2
411 - Caso 3 osciladores m-M-m 38
412 - Caso 3 osciladores m-m-M39
413 - Caso 1000 osciladores m-M alternadamente40
414 - Caso 1000 osciladores M-m alternadamente42
C- Resumen Esquemaacutetico
415 - Casos con Masas Iguales 44
416 - Casos con Masas Diferentes 45
5 - Observaciones y Conclusiones
51 - Tiempode R etardo 46
52 - Energiacutea y Cantidad de Movimiento 49
53 - Efecto del Nuacutemero de Osciladores52
6 - Aplicaciones y Perspectivas 54
7 - Bibliografiacutea55
Anexo I - Seleccioacuten del Meacutetodo Numeacuterico 56
Anexo I I - Coacutedigo Fuente Meacutetodo Numeacuterico64
Anexo III - Coacutedigo Fuente Interfase Computacional 69
Anexo I V - Anaacutelisis de las Tablas de Resultados 78
Anexo V mdash Resumen de Principales Resultados 80
Paacuteg 3
SIMULACIOacuteN D E W SISTEMA DE MUacuteLTALES
OSCILADORES ACOPLADOS
^ ^ m E N S I O N A L E S
1-INTRODUCCIOacuteN
El presente trabajo tiene como objetivo el estudio de un sistema mecaacutenico
formado por n osciladores unidimensionales acoplados linealmente El sistema de
Ecuaciones Diferenciales Ordinarias de segundo orden que se obtiene al aplicar las
ecuaciones de Lagrange se resolvioacute numeacutericamente para casos en los que seriacutea
extremadamente difiacutecil obtener una solucioacuten analiacutetica por ejemplo para 1000 y
10000 osciladores
La simulacioacuten numeacuterica es importoacutete porque permite descubrir nuevas
propiedades mecaacutenicas o determinar magnitudes fiacutesicas para sistemas de muchas
partiacuteculas ( por ejemplo 1000 osciladores)
Debe recordarse que en los sistemas de partiacuteculas ldquoacopladasrdquo tanto la Energiacutea
Cineacutetica como la Energiacutea Potencial de cada partiacutecula dependen del estado de sus
vecinas maacutes proacuteximas
Figura 1 Ejemplos de sistemas acoplados
Pag 4
Los sistemas mecaacutenicos de muchas partiacuteculas donde cada una de ellas oscila
alrededor de su posicioacuten de equilibrio ( vibra ) han servido conceptualmente a la
Fiacutesica para modelar el comportamiento mecaacutenico teacutermico y magneacutetico de los
soacutelidos contribuyendo asiacute con el desarrollo de la mecaacutenica estadiacutestica y la
termodinaacutemica (Kittel 1992)
j - s
1 Iacute4 laquo
Figura 2 Banda IR de vibracioacuten-rotacioacuten de una moleacutecula biatoacutemica
Sin embargo en todas estas aacutereas del conocimiento el desarrollo analiacutetico y
conceptual se ha limitado a casos muy particulares donde existe una alta simetriacutea
debido a la complejidad de las soluciones analiacuteticas y a las limitaciones
tecnoloacutegicas de la eacutepoca (Davidovich 1978) (Goldstein 1994)
La simulacioacuten numeacuterica ofrece hoy en diacutea la posibilidad de estudiar maacutes
ampliamente estos sistemas mecaacutenicos de muchas partiacuteculas al resolver
secuencialmente el conjunto de ecuaciones diferenciales que las representan
2- DESCIPCIOacuteN DEL PROBLEMA
Un ejemplo de osciladores acoplados lineales consiste en un conjunto de n
pequentildeas masas unidas dos a dos por resortes de constante elaacutestica k con sus
extremos libres ( que es el caso que se considera en el presente trabajo ) de tal
Pag 5
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Con Gratifad Dedico e^e inforne a todos
quienes desinteresadamente me ayudado
a lleg^ aquiacute el diacutea de hoy en especial a mi
familia que auacuten soporta mis ^^noches
y a Dios quieacuten todo lo sabe y es frente
eterna de inspiracioacuten y sabiduriacutea
SIMULACIOacuteN DE TO SISTEMA DE MUacuteLTIPLES
O S C ^ ^ O ^ S ACOPLADOS
UNIDIMENSIONALES
Resumen
En el p re re ^ tobajo x ha simulado num eacuteric^ente el compotomiento de un unidtoensioral de osc^dores acoplados el cual x encuento aislado de agentes e ^ ^ ^ s talra como la ^ r a v ^ ^ y el r o ^ ^ ^ t o
Se su comportamiento cinemaacutetico para d^intos nuacutemeros de osciladores yd ^ ^ ^ di^buciones de enconaacutendose p ro p i^ ^ es que puedene^nderae hacia el wntmuo ( infinitos o rladores
Se p r e r e ^ el generalizado p^a ldquonrdquo o^iM ores unidimensionalesacoplados las respectivas ecuaciones de movimiento una interpretacioacuten algoriacutetoica de sus coeficientes en notacioacuten ^ ^ c i a l y la impleme^^ioacuten de una ^ te r ^ e ldquo^ ig a b le rdquo p ^ la simulacioacuten la misma que utilira un meacutetodo numeacuteriro auto-inicialirado ron ^ m o de p ^ ^ ^ ta tiv o de tal manera que optimirando los ^ ^ o s de una PC l o ^ mantener su regimiento incluso mte la t^ea de ejecutar 6 000 millones de caacutelculos
Abstract
In to s paper the mechanical evolution of a one-dimensional coupled-system has been Sim ula^ m s ^ s ^ m is ^ la te from e ^ ^ a l agents as Mction and ^ v ity
The ^ ^ ^ f o c s evolution of the system for different confi^rotions on weight and numbera of o^d^tora w ^ analy^ri and it w ^ found any properties that can be extended to foe cotamuo^ case ( ^^m te numbers of osciltatore)
fo drop foe g r o ^ ^ ^ ^ l^^m giro for ldquonrdquo orciltatore w ^ pre^nted also the rorrespond^ ^uations o f movement an algoritfonic interrelation of their repraenMion a ^ foe implemen^ion of a ldquofriendlyrdquo interface for simulation which use an auto-^^ted numerical method with an adaptati e step so it o p ^ ^ ^ the c o m p u ^ io ^ r a o ^ ^ ^ o fa PC in such a way foat kept ita p e rfo ^ ^ ro even when tern thou^rnds of imdions com p^tions ^ r ^ u ^ ^
Paacuteg 1
CONTENIDO
1 - Introduccioacuten4
2 - Descripcioacuten del Problema 5
3 - Ecuaciones de Movimiento
31 - Caso 2 osciladores 8
32 - Caso 3 osciladores 11
33 - Caso 4 osciladores 12
34 - Caso n osciladores 12
4 - Solucioacuten Numeacuterica
A - Casos con masas iguales
41 - Caso 2 osciladores 16
42 - Caso 3 osciladores20
43 - Caso 4 osciladores23
44 - Caso 20 osciladores26
45 - Caso 100 osciladores28
46 - Caso 1000 osciladores30
47 - Caso 10 000 osciladores32
B - Casos con masas diferentes
48 - Caso 2 osciladores M -m 35
49 - Caso 2 osciladores m-M 36
410 - Caso 3 osciladores M-m-m 37
Pag 2
411 - Caso 3 osciladores m-M-m 38
412 - Caso 3 osciladores m-m-M39
413 - Caso 1000 osciladores m-M alternadamente40
414 - Caso 1000 osciladores M-m alternadamente42
C- Resumen Esquemaacutetico
415 - Casos con Masas Iguales 44
416 - Casos con Masas Diferentes 45
5 - Observaciones y Conclusiones
51 - Tiempode R etardo 46
52 - Energiacutea y Cantidad de Movimiento 49
53 - Efecto del Nuacutemero de Osciladores52
6 - Aplicaciones y Perspectivas 54
7 - Bibliografiacutea55
Anexo I - Seleccioacuten del Meacutetodo Numeacuterico 56
Anexo I I - Coacutedigo Fuente Meacutetodo Numeacuterico64
Anexo III - Coacutedigo Fuente Interfase Computacional 69
Anexo I V - Anaacutelisis de las Tablas de Resultados 78
Anexo V mdash Resumen de Principales Resultados 80
Paacuteg 3
SIMULACIOacuteN D E W SISTEMA DE MUacuteLTALES
OSCILADORES ACOPLADOS
^ ^ m E N S I O N A L E S
1-INTRODUCCIOacuteN
El presente trabajo tiene como objetivo el estudio de un sistema mecaacutenico
formado por n osciladores unidimensionales acoplados linealmente El sistema de
Ecuaciones Diferenciales Ordinarias de segundo orden que se obtiene al aplicar las
ecuaciones de Lagrange se resolvioacute numeacutericamente para casos en los que seriacutea
extremadamente difiacutecil obtener una solucioacuten analiacutetica por ejemplo para 1000 y
10000 osciladores
La simulacioacuten numeacuterica es importoacutete porque permite descubrir nuevas
propiedades mecaacutenicas o determinar magnitudes fiacutesicas para sistemas de muchas
partiacuteculas ( por ejemplo 1000 osciladores)
Debe recordarse que en los sistemas de partiacuteculas ldquoacopladasrdquo tanto la Energiacutea
Cineacutetica como la Energiacutea Potencial de cada partiacutecula dependen del estado de sus
vecinas maacutes proacuteximas
Figura 1 Ejemplos de sistemas acoplados
Pag 4
Los sistemas mecaacutenicos de muchas partiacuteculas donde cada una de ellas oscila
alrededor de su posicioacuten de equilibrio ( vibra ) han servido conceptualmente a la
Fiacutesica para modelar el comportamiento mecaacutenico teacutermico y magneacutetico de los
soacutelidos contribuyendo asiacute con el desarrollo de la mecaacutenica estadiacutestica y la
termodinaacutemica (Kittel 1992)
j - s
1 Iacute4 laquo
Figura 2 Banda IR de vibracioacuten-rotacioacuten de una moleacutecula biatoacutemica
Sin embargo en todas estas aacutereas del conocimiento el desarrollo analiacutetico y
conceptual se ha limitado a casos muy particulares donde existe una alta simetriacutea
debido a la complejidad de las soluciones analiacuteticas y a las limitaciones
tecnoloacutegicas de la eacutepoca (Davidovich 1978) (Goldstein 1994)
La simulacioacuten numeacuterica ofrece hoy en diacutea la posibilidad de estudiar maacutes
ampliamente estos sistemas mecaacutenicos de muchas partiacuteculas al resolver
secuencialmente el conjunto de ecuaciones diferenciales que las representan
2- DESCIPCIOacuteN DEL PROBLEMA
Un ejemplo de osciladores acoplados lineales consiste en un conjunto de n
pequentildeas masas unidas dos a dos por resortes de constante elaacutestica k con sus
extremos libres ( que es el caso que se considera en el presente trabajo ) de tal
Pag 5
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
SIMULACIOacuteN DE TO SISTEMA DE MUacuteLTIPLES
O S C ^ ^ O ^ S ACOPLADOS
UNIDIMENSIONALES
Resumen
En el p re re ^ tobajo x ha simulado num eacuteric^ente el compotomiento de un unidtoensioral de osc^dores acoplados el cual x encuento aislado de agentes e ^ ^ ^ s talra como la ^ r a v ^ ^ y el r o ^ ^ ^ t o
Se su comportamiento cinemaacutetico para d^intos nuacutemeros de osciladores yd ^ ^ ^ di^buciones de enconaacutendose p ro p i^ ^ es que puedene^nderae hacia el wntmuo ( infinitos o rladores
Se p r e r e ^ el generalizado p^a ldquonrdquo o^iM ores unidimensionalesacoplados las respectivas ecuaciones de movimiento una interpretacioacuten algoriacutetoica de sus coeficientes en notacioacuten ^ ^ c i a l y la impleme^^ioacuten de una ^ te r ^ e ldquo^ ig a b le rdquo p ^ la simulacioacuten la misma que utilira un meacutetodo numeacuteriro auto-inicialirado ron ^ m o de p ^ ^ ^ ta tiv o de tal manera que optimirando los ^ ^ o s de una PC l o ^ mantener su regimiento incluso mte la t^ea de ejecutar 6 000 millones de caacutelculos
Abstract
In to s paper the mechanical evolution of a one-dimensional coupled-system has been Sim ula^ m s ^ s ^ m is ^ la te from e ^ ^ a l agents as Mction and ^ v ity
The ^ ^ ^ f o c s evolution of the system for different confi^rotions on weight and numbera of o^d^tora w ^ analy^ri and it w ^ found any properties that can be extended to foe cotamuo^ case ( ^^m te numbers of osciltatore)
fo drop foe g r o ^ ^ ^ ^ l^^m giro for ldquonrdquo orciltatore w ^ pre^nted also the rorrespond^ ^uations o f movement an algoritfonic interrelation of their repraenMion a ^ foe implemen^ion of a ldquofriendlyrdquo interface for simulation which use an auto-^^ted numerical method with an adaptati e step so it o p ^ ^ ^ the c o m p u ^ io ^ r a o ^ ^ ^ o fa PC in such a way foat kept ita p e rfo ^ ^ ro even when tern thou^rnds of imdions com p^tions ^ r ^ u ^ ^
Paacuteg 1
CONTENIDO
1 - Introduccioacuten4
2 - Descripcioacuten del Problema 5
3 - Ecuaciones de Movimiento
31 - Caso 2 osciladores 8
32 - Caso 3 osciladores 11
33 - Caso 4 osciladores 12
34 - Caso n osciladores 12
4 - Solucioacuten Numeacuterica
A - Casos con masas iguales
41 - Caso 2 osciladores 16
42 - Caso 3 osciladores20
43 - Caso 4 osciladores23
44 - Caso 20 osciladores26
45 - Caso 100 osciladores28
46 - Caso 1000 osciladores30
47 - Caso 10 000 osciladores32
B - Casos con masas diferentes
48 - Caso 2 osciladores M -m 35
49 - Caso 2 osciladores m-M 36
410 - Caso 3 osciladores M-m-m 37
Pag 2
411 - Caso 3 osciladores m-M-m 38
412 - Caso 3 osciladores m-m-M39
413 - Caso 1000 osciladores m-M alternadamente40
414 - Caso 1000 osciladores M-m alternadamente42
C- Resumen Esquemaacutetico
415 - Casos con Masas Iguales 44
416 - Casos con Masas Diferentes 45
5 - Observaciones y Conclusiones
51 - Tiempode R etardo 46
52 - Energiacutea y Cantidad de Movimiento 49
53 - Efecto del Nuacutemero de Osciladores52
6 - Aplicaciones y Perspectivas 54
7 - Bibliografiacutea55
Anexo I - Seleccioacuten del Meacutetodo Numeacuterico 56
Anexo I I - Coacutedigo Fuente Meacutetodo Numeacuterico64
Anexo III - Coacutedigo Fuente Interfase Computacional 69
Anexo I V - Anaacutelisis de las Tablas de Resultados 78
Anexo V mdash Resumen de Principales Resultados 80
Paacuteg 3
SIMULACIOacuteN D E W SISTEMA DE MUacuteLTALES
OSCILADORES ACOPLADOS
^ ^ m E N S I O N A L E S
1-INTRODUCCIOacuteN
El presente trabajo tiene como objetivo el estudio de un sistema mecaacutenico
formado por n osciladores unidimensionales acoplados linealmente El sistema de
Ecuaciones Diferenciales Ordinarias de segundo orden que se obtiene al aplicar las
ecuaciones de Lagrange se resolvioacute numeacutericamente para casos en los que seriacutea
extremadamente difiacutecil obtener una solucioacuten analiacutetica por ejemplo para 1000 y
10000 osciladores
La simulacioacuten numeacuterica es importoacutete porque permite descubrir nuevas
propiedades mecaacutenicas o determinar magnitudes fiacutesicas para sistemas de muchas
partiacuteculas ( por ejemplo 1000 osciladores)
Debe recordarse que en los sistemas de partiacuteculas ldquoacopladasrdquo tanto la Energiacutea
Cineacutetica como la Energiacutea Potencial de cada partiacutecula dependen del estado de sus
vecinas maacutes proacuteximas
Figura 1 Ejemplos de sistemas acoplados
Pag 4
Los sistemas mecaacutenicos de muchas partiacuteculas donde cada una de ellas oscila
alrededor de su posicioacuten de equilibrio ( vibra ) han servido conceptualmente a la
Fiacutesica para modelar el comportamiento mecaacutenico teacutermico y magneacutetico de los
soacutelidos contribuyendo asiacute con el desarrollo de la mecaacutenica estadiacutestica y la
termodinaacutemica (Kittel 1992)
j - s
1 Iacute4 laquo
Figura 2 Banda IR de vibracioacuten-rotacioacuten de una moleacutecula biatoacutemica
Sin embargo en todas estas aacutereas del conocimiento el desarrollo analiacutetico y
conceptual se ha limitado a casos muy particulares donde existe una alta simetriacutea
debido a la complejidad de las soluciones analiacuteticas y a las limitaciones
tecnoloacutegicas de la eacutepoca (Davidovich 1978) (Goldstein 1994)
La simulacioacuten numeacuterica ofrece hoy en diacutea la posibilidad de estudiar maacutes
ampliamente estos sistemas mecaacutenicos de muchas partiacuteculas al resolver
secuencialmente el conjunto de ecuaciones diferenciales que las representan
2- DESCIPCIOacuteN DEL PROBLEMA
Un ejemplo de osciladores acoplados lineales consiste en un conjunto de n
pequentildeas masas unidas dos a dos por resortes de constante elaacutestica k con sus
extremos libres ( que es el caso que se considera en el presente trabajo ) de tal
Pag 5
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
CONTENIDO
1 - Introduccioacuten4
2 - Descripcioacuten del Problema 5
3 - Ecuaciones de Movimiento
31 - Caso 2 osciladores 8
32 - Caso 3 osciladores 11
33 - Caso 4 osciladores 12
34 - Caso n osciladores 12
4 - Solucioacuten Numeacuterica
A - Casos con masas iguales
41 - Caso 2 osciladores 16
42 - Caso 3 osciladores20
43 - Caso 4 osciladores23
44 - Caso 20 osciladores26
45 - Caso 100 osciladores28
46 - Caso 1000 osciladores30
47 - Caso 10 000 osciladores32
B - Casos con masas diferentes
48 - Caso 2 osciladores M -m 35
49 - Caso 2 osciladores m-M 36
410 - Caso 3 osciladores M-m-m 37
Pag 2
411 - Caso 3 osciladores m-M-m 38
412 - Caso 3 osciladores m-m-M39
413 - Caso 1000 osciladores m-M alternadamente40
414 - Caso 1000 osciladores M-m alternadamente42
C- Resumen Esquemaacutetico
415 - Casos con Masas Iguales 44
416 - Casos con Masas Diferentes 45
5 - Observaciones y Conclusiones
51 - Tiempode R etardo 46
52 - Energiacutea y Cantidad de Movimiento 49
53 - Efecto del Nuacutemero de Osciladores52
6 - Aplicaciones y Perspectivas 54
7 - Bibliografiacutea55
Anexo I - Seleccioacuten del Meacutetodo Numeacuterico 56
Anexo I I - Coacutedigo Fuente Meacutetodo Numeacuterico64
Anexo III - Coacutedigo Fuente Interfase Computacional 69
Anexo I V - Anaacutelisis de las Tablas de Resultados 78
Anexo V mdash Resumen de Principales Resultados 80
Paacuteg 3
SIMULACIOacuteN D E W SISTEMA DE MUacuteLTALES
OSCILADORES ACOPLADOS
^ ^ m E N S I O N A L E S
1-INTRODUCCIOacuteN
El presente trabajo tiene como objetivo el estudio de un sistema mecaacutenico
formado por n osciladores unidimensionales acoplados linealmente El sistema de
Ecuaciones Diferenciales Ordinarias de segundo orden que se obtiene al aplicar las
ecuaciones de Lagrange se resolvioacute numeacutericamente para casos en los que seriacutea
extremadamente difiacutecil obtener una solucioacuten analiacutetica por ejemplo para 1000 y
10000 osciladores
La simulacioacuten numeacuterica es importoacutete porque permite descubrir nuevas
propiedades mecaacutenicas o determinar magnitudes fiacutesicas para sistemas de muchas
partiacuteculas ( por ejemplo 1000 osciladores)
Debe recordarse que en los sistemas de partiacuteculas ldquoacopladasrdquo tanto la Energiacutea
Cineacutetica como la Energiacutea Potencial de cada partiacutecula dependen del estado de sus
vecinas maacutes proacuteximas
Figura 1 Ejemplos de sistemas acoplados
Pag 4
Los sistemas mecaacutenicos de muchas partiacuteculas donde cada una de ellas oscila
alrededor de su posicioacuten de equilibrio ( vibra ) han servido conceptualmente a la
Fiacutesica para modelar el comportamiento mecaacutenico teacutermico y magneacutetico de los
soacutelidos contribuyendo asiacute con el desarrollo de la mecaacutenica estadiacutestica y la
termodinaacutemica (Kittel 1992)
j - s
1 Iacute4 laquo
Figura 2 Banda IR de vibracioacuten-rotacioacuten de una moleacutecula biatoacutemica
Sin embargo en todas estas aacutereas del conocimiento el desarrollo analiacutetico y
conceptual se ha limitado a casos muy particulares donde existe una alta simetriacutea
debido a la complejidad de las soluciones analiacuteticas y a las limitaciones
tecnoloacutegicas de la eacutepoca (Davidovich 1978) (Goldstein 1994)
La simulacioacuten numeacuterica ofrece hoy en diacutea la posibilidad de estudiar maacutes
ampliamente estos sistemas mecaacutenicos de muchas partiacuteculas al resolver
secuencialmente el conjunto de ecuaciones diferenciales que las representan
2- DESCIPCIOacuteN DEL PROBLEMA
Un ejemplo de osciladores acoplados lineales consiste en un conjunto de n
pequentildeas masas unidas dos a dos por resortes de constante elaacutestica k con sus
extremos libres ( que es el caso que se considera en el presente trabajo ) de tal
Pag 5
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
411 - Caso 3 osciladores m-M-m 38
412 - Caso 3 osciladores m-m-M39
413 - Caso 1000 osciladores m-M alternadamente40
414 - Caso 1000 osciladores M-m alternadamente42
C- Resumen Esquemaacutetico
415 - Casos con Masas Iguales 44
416 - Casos con Masas Diferentes 45
5 - Observaciones y Conclusiones
51 - Tiempode R etardo 46
52 - Energiacutea y Cantidad de Movimiento 49
53 - Efecto del Nuacutemero de Osciladores52
6 - Aplicaciones y Perspectivas 54
7 - Bibliografiacutea55
Anexo I - Seleccioacuten del Meacutetodo Numeacuterico 56
Anexo I I - Coacutedigo Fuente Meacutetodo Numeacuterico64
Anexo III - Coacutedigo Fuente Interfase Computacional 69
Anexo I V - Anaacutelisis de las Tablas de Resultados 78
Anexo V mdash Resumen de Principales Resultados 80
Paacuteg 3
SIMULACIOacuteN D E W SISTEMA DE MUacuteLTALES
OSCILADORES ACOPLADOS
^ ^ m E N S I O N A L E S
1-INTRODUCCIOacuteN
El presente trabajo tiene como objetivo el estudio de un sistema mecaacutenico
formado por n osciladores unidimensionales acoplados linealmente El sistema de
Ecuaciones Diferenciales Ordinarias de segundo orden que se obtiene al aplicar las
ecuaciones de Lagrange se resolvioacute numeacutericamente para casos en los que seriacutea
extremadamente difiacutecil obtener una solucioacuten analiacutetica por ejemplo para 1000 y
10000 osciladores
La simulacioacuten numeacuterica es importoacutete porque permite descubrir nuevas
propiedades mecaacutenicas o determinar magnitudes fiacutesicas para sistemas de muchas
partiacuteculas ( por ejemplo 1000 osciladores)
Debe recordarse que en los sistemas de partiacuteculas ldquoacopladasrdquo tanto la Energiacutea
Cineacutetica como la Energiacutea Potencial de cada partiacutecula dependen del estado de sus
vecinas maacutes proacuteximas
Figura 1 Ejemplos de sistemas acoplados
Pag 4
Los sistemas mecaacutenicos de muchas partiacuteculas donde cada una de ellas oscila
alrededor de su posicioacuten de equilibrio ( vibra ) han servido conceptualmente a la
Fiacutesica para modelar el comportamiento mecaacutenico teacutermico y magneacutetico de los
soacutelidos contribuyendo asiacute con el desarrollo de la mecaacutenica estadiacutestica y la
termodinaacutemica (Kittel 1992)
j - s
1 Iacute4 laquo
Figura 2 Banda IR de vibracioacuten-rotacioacuten de una moleacutecula biatoacutemica
Sin embargo en todas estas aacutereas del conocimiento el desarrollo analiacutetico y
conceptual se ha limitado a casos muy particulares donde existe una alta simetriacutea
debido a la complejidad de las soluciones analiacuteticas y a las limitaciones
tecnoloacutegicas de la eacutepoca (Davidovich 1978) (Goldstein 1994)
La simulacioacuten numeacuterica ofrece hoy en diacutea la posibilidad de estudiar maacutes
ampliamente estos sistemas mecaacutenicos de muchas partiacuteculas al resolver
secuencialmente el conjunto de ecuaciones diferenciales que las representan
2- DESCIPCIOacuteN DEL PROBLEMA
Un ejemplo de osciladores acoplados lineales consiste en un conjunto de n
pequentildeas masas unidas dos a dos por resortes de constante elaacutestica k con sus
extremos libres ( que es el caso que se considera en el presente trabajo ) de tal
Pag 5
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
SIMULACIOacuteN D E W SISTEMA DE MUacuteLTALES
OSCILADORES ACOPLADOS
^ ^ m E N S I O N A L E S
1-INTRODUCCIOacuteN
El presente trabajo tiene como objetivo el estudio de un sistema mecaacutenico
formado por n osciladores unidimensionales acoplados linealmente El sistema de
Ecuaciones Diferenciales Ordinarias de segundo orden que se obtiene al aplicar las
ecuaciones de Lagrange se resolvioacute numeacutericamente para casos en los que seriacutea
extremadamente difiacutecil obtener una solucioacuten analiacutetica por ejemplo para 1000 y
10000 osciladores
La simulacioacuten numeacuterica es importoacutete porque permite descubrir nuevas
propiedades mecaacutenicas o determinar magnitudes fiacutesicas para sistemas de muchas
partiacuteculas ( por ejemplo 1000 osciladores)
Debe recordarse que en los sistemas de partiacuteculas ldquoacopladasrdquo tanto la Energiacutea
Cineacutetica como la Energiacutea Potencial de cada partiacutecula dependen del estado de sus
vecinas maacutes proacuteximas
Figura 1 Ejemplos de sistemas acoplados
Pag 4
Los sistemas mecaacutenicos de muchas partiacuteculas donde cada una de ellas oscila
alrededor de su posicioacuten de equilibrio ( vibra ) han servido conceptualmente a la
Fiacutesica para modelar el comportamiento mecaacutenico teacutermico y magneacutetico de los
soacutelidos contribuyendo asiacute con el desarrollo de la mecaacutenica estadiacutestica y la
termodinaacutemica (Kittel 1992)
j - s
1 Iacute4 laquo
Figura 2 Banda IR de vibracioacuten-rotacioacuten de una moleacutecula biatoacutemica
Sin embargo en todas estas aacutereas del conocimiento el desarrollo analiacutetico y
conceptual se ha limitado a casos muy particulares donde existe una alta simetriacutea
debido a la complejidad de las soluciones analiacuteticas y a las limitaciones
tecnoloacutegicas de la eacutepoca (Davidovich 1978) (Goldstein 1994)
La simulacioacuten numeacuterica ofrece hoy en diacutea la posibilidad de estudiar maacutes
ampliamente estos sistemas mecaacutenicos de muchas partiacuteculas al resolver
secuencialmente el conjunto de ecuaciones diferenciales que las representan
2- DESCIPCIOacuteN DEL PROBLEMA
Un ejemplo de osciladores acoplados lineales consiste en un conjunto de n
pequentildeas masas unidas dos a dos por resortes de constante elaacutestica k con sus
extremos libres ( que es el caso que se considera en el presente trabajo ) de tal
Pag 5
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Los sistemas mecaacutenicos de muchas partiacuteculas donde cada una de ellas oscila
alrededor de su posicioacuten de equilibrio ( vibra ) han servido conceptualmente a la
Fiacutesica para modelar el comportamiento mecaacutenico teacutermico y magneacutetico de los
soacutelidos contribuyendo asiacute con el desarrollo de la mecaacutenica estadiacutestica y la
termodinaacutemica (Kittel 1992)
j - s
1 Iacute4 laquo
Figura 2 Banda IR de vibracioacuten-rotacioacuten de una moleacutecula biatoacutemica
Sin embargo en todas estas aacutereas del conocimiento el desarrollo analiacutetico y
conceptual se ha limitado a casos muy particulares donde existe una alta simetriacutea
debido a la complejidad de las soluciones analiacuteticas y a las limitaciones
tecnoloacutegicas de la eacutepoca (Davidovich 1978) (Goldstein 1994)
La simulacioacuten numeacuterica ofrece hoy en diacutea la posibilidad de estudiar maacutes
ampliamente estos sistemas mecaacutenicos de muchas partiacuteculas al resolver
secuencialmente el conjunto de ecuaciones diferenciales que las representan
2- DESCIPCIOacuteN DEL PROBLEMA
Un ejemplo de osciladores acoplados lineales consiste en un conjunto de n
pequentildeas masas unidas dos a dos por resortes de constante elaacutestica k con sus
extremos libres ( que es el caso que se considera en el presente trabajo ) de tal
Pag 5
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
m ^era que puedan moverse solo hacia uno u ofro lado de la liacutenea que une sus
centros de masa en ausencia de cualquier foerza extern^ tal como la foerza de
gravedad o el rozamiento
Figura 3 Esquema del sistema fiacutesico
Es posible enconfiar de manera analiacutetica las ecuaciones de movimiento para casos
muy particulares por ejemplo cuando n = 2 o n = 3 y a sea que tengan los
extremos fijos o libres (Goldstein 1994) y a n d i^ - propiedades cualitativas de los
sistemas acoplados con n partiacuteculas (Kittel 1992)
Tambieacuten es posible confi^^ar en el laboratorio un sistema de osciladores
acoplados para n ~ 10 o quizaacute hasta n ~ 100 y luego analizarlo de manera
experimental sin emb^go esto resulta tanto maacutes difiacutecil cuanto maacutes costoso a
mayor nuacutemero de osciladores
Por lo tanto estudiar cuantitativamente un sistema compuesto de miles de
osciladores acoplados es un problema que en la praacutectica solo puede abordarse
mediante una simulacioacuten numeacuterica
En ese sentido el objetivo principal del presente trabajo es determinar el tiempo
que tarda en moverse el oscilar maacutes alejado de aquel que recibe el impulso inicial
cuando ambos forman parte de un sistema de osciladores acoplados como el
descrito anteriormente ( unidimensional inicialmente en reposo asilados de
foerzas externa ) pues desde un punto de vista ldquoclaacutesicordquo las interacciones entre
Paacuteg 6
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
los osciladores y las transferencias de cantidad de movimiento deberiacutean ser
ldquoinst^taacuteneasrdquo
V = vo
t^ Q
] w [ o
D = (n -l)L 0
Figura 4 Esquema del objetivo principal
3- ECUACIONES DE MOVIMIENTO
Mediante la formulacioacuten de Lagrange se obtiene un conjunto de n ecuaciones
diferenciales ordinarias ( EDO ) de segundo orden que representan al sistema de n
osciladores unidimensionales acoplados (Goldstein 1994)
Estas EDO son las llamadas ldquoecuaciones de movimientordquo de los n osciladores y se
c^acterizan por no ser independientes unas de ofeas (Butkov 1968) hecho que
refleja el ldquoacoplerdquo ( interrelacioacuten ) de los osciladores
Una manera de resolver estas ecuaciones consiste en utilizar una feansformacioacuten
de coordenadas que elimine la dependencia entre las ecuaciones diferenciales
procedimiento denominado ldquodiagonalizacioacuten sim ul^eardquo (Butkov 1968)
Pag 7
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
mmera de resolver estas ecuaciones consiste en inteoducir ( probar ) una
foncioacuten perioacutedica como solucioacuten en el sistema de ecuaciones diferenciales para
reducirlo a un sistema de ecuaciones algebraicas y luego teas reem p l^ r las
condiciones iniciales obtener las frecuencias caracteriacutesticas (Butkov 1968) Sin
embargo este meacutetodo ldquofallardquo cuando lo que se desea es encontrar las coordenadas
de cada partiacutecula
31- El Caso de Dos Osciladores
Sea un sistema aislado compuesto por dos masas puntuales mi y m2 unidas por un
resorte de longitud Lo y constante elaacutestica k
y diams 9
Oraquo r 1 iacuteX x2
Figura 5 - Dos masas acopladas
Sean Xi y X2 las posiciones de las masas mi y m2 en cualquier instante de tiempo
entonces se definen las siguientes ma^itudes
e = X i-X (0 ) ( 1 )pound2= X 2 - X 2(0) ( 2 )
Siacute al inicio ( t = 0 ) el resorte no se encuentea deformado la relacioacuten entee Lo y las
coordenadas iniciales de cada bloque es
( 3 )
Paacuteg 8
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
S e a d = poundiacute -ampi ( 4 )
Entonces de las ecuaciones 1 2 y3 para t gt 0 se tiene
pound = iacute-i L ( 4a )
Por otra parte con las variables definidas en (4) (1) y (2) la Energiacutea Cineacutetica y
Potencial tienen la forma
Ep = k d 2 = k (s2 - pound l)
2 Krl _ 1 ___ ^2 1 2Ek = 2trade2 2 = 2 mEacute + 2 m2Eacutel
Luego el lagrangiano se transforma en
n r 1 _I b 1 -2 1 w j 2L = Ek - E p - ^ mtpoundj + 2 m2e3
Las ecuaciones de movimiento se determinan a partir de
d i d ( SL ^d pound d t deacutegt
( 5 )
(6 )
( 7 )
( 8 )
Obtenieacutendose
( 9 )
( 10 )
Tanto la Ecuacioacuten 9 como la 10 son ecuaciones diferenciales ordinarias de
segundo orden por lo tanto necesitan de 2 condiciones iniciales cada una la
posicioacuten y la velocidad inicial de cada una de las mas^
Siacute mi = m2 = m entonces es faacutecil resolver el sistema de ecuaciones se procede a
sumar las ecuaciones 9 y 10 consiguieacutendose
=gt s l +ei =at + b ( ^ )
Paacuteg 9
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Mienfras que al restar las ecuaciones 9 y 10se obtiene
Donde
poundx - poundn~ (poundt - e ) =gt SeaT Z -
pound - pound 2 = 2 ^ Z + 2wqZ = 0 ^ Z = A S e n (^ w 0t + S)
k = i m
Luego de 1112 y 13 se tiene
A Sen(-^w 0t + S) + at + b^ =
s2 mdash- ASen(- f2w0t + S) + at + b
( 12)
( 13 )
(14 )
(15 )
Noacutetese que tanto la ecuacioacuten 14 como la 15 corresponden a una composicioacuten
de dos movimientos oscilacioacuten y traslacioacuten a velocidad constante
Luego al reemplazar las condiciones iniciales
Se obtiene
poundi(0) = pound (0) = 0 iquest1(0) = xV y iquest2(0) = 0
A = ^ Vdeg a = v0 y S = b = 02wbdquo
Con lo que finalmente se tiene
Paacuteg 10
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
32- El Caso de Tres Osciladores
Sean tres masas unidas por dos resortes que se encuentran inicialmente no
deformados se definen las siguientes expresiones
e = X1- X 1(0) ( 16 )e 2= X 2- X 2(0) ( 17 )e 3= X 3- X 3(0) ( 18 )
Ademaacutes las longitudes de los resortes sin deformar cumplen
Li = X 2(0 ) -X 1(0) ( 19 )L2 = X3(0 )-X 2(0) ( 20 )
Tambieacuten
Luego
( 2 ] )
3 JE k = ( 2 2 )
n=1 iquest
L = Ek ~ Ep = ~n=l iquest n=l iquest
(23)
Entonces aplicando la ecuacioacuten de la^ange ( Ecuacioacuten 8 ) se obtiene
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
r(0) = Eacuter2(0) = ^(0)^=0 (0) = v0 y eacute2 (0) = (0) = 0
Paacuteg 11
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
33- El Caso de Cuatro Osciladores
Procediendo de manera similar al Caso de Tres Osciladores se obtiene el siguiente
conjunto de Ecuaciones Diferenciales Ordinarias
amp
El caso en consideracioacuten es aquel que posee las siguientes condiciones iniciales
poundt (0) = ff1( 0 ) = ^ ( 0 ) - pound iacute (0) = 0
^ 0 ) = v 0 y CI(0) = iquestJ(0) = ^ (0 ) = 0
34- El Caso de n Osciladores
Analizando de manera inductiva el conjunto de Ecuaciones Diferenciales que
representa a cada uno de los casos anteriores se puede demostrar faacutecilmente que
el lagrangiano para un sistema de n osciladores acoplados tiene la forma
(24)
Paacuteg 12
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Luego tras aplica la Ecuacioacuten 8 a la expresioacuten de la Ecuacioacuten 24 se obtiene
^ 2 i
k = ^
O equivalentemente
En la ecuacioacuten matricial anterior se tiene un vector columna de n filas
conteniendo las segundas derivadas de las variables eiexcl el cual es igual a una
matriz tri-diagonal de orden n x n con expresiones simeacutetricas para las variables eiexcl
Paacuteg 13
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Para resolver las ecuaciones diferenciales se consideran las siguientes condiciones
iniciales
e(0) = 0 V lt n iquest ( 0 ) = ^ y iquestl(0 = 0 V i
Obseacutervese que la condicioacuten inicial eiexcl(0) equivale a
^ (0 ) = ( - l ) I V ilt n
La simetriacutea de las expresiones contenidas en los elementos de la matriz hace que
eacutesta pueda ser sintetizada por un algoritmo que obtenga dichos elementos de
forma iterativa en funcioacuten del nuacutemero de osciladores valor que numeacutericamente
coincide con la dimensioacuten de la matriz hecho que facilita su implementacioacuten
utilizando cualquier lenguaje de programacioacuten
Para j - 1 hasta n Para i - 1 hasta n repetir
Si i gt - j -1 Si i - j - l
Coeficiente = ( kfy-l)) m )Si mdashj
Coeficiente = ( - k^-1) - ) mO)S i=y+l
Coeficiente = ( k(0 ) iexcl m()De lo contrario
Coeficiente = 0
Paacuteg 14
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
4- SOLUCIOacuteN NUMEacuteMCA
El conjunto de n ecuaciones diferenciales ordinarias de segundo orden que
representan las ecuaciones de movimiento de los n osciladores acoplados es
equivalente a un sistema de 2n ecuaciones diferenciales ordinarias ( EDO ) de
primer orden en el que se han definido adecuadamente n variables auxiliares ( las
primeras derivadas ) (Nakamura 1992)
Ese conjunto de 2n EDO puede resolverse por cualquiera de los meacutetodos
numeacutericos expuestos en el Anexo I pero se seleccionoacute el meacutetodo Runge-Kutta de
quinto orden propuesto por Dormand y Prince en 1980 denominado en adelante
RK45-DP por todas las razones expuestas en el Anexo I pero principalmente por
su baja demanda computacional respecto del nivel de precisioacuten que ofrece pues
solo utiliza 6 evaluaciones de la fencioacuten objetivo cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
La Tabla 2 resume los coeficientes utilizados en la implementacioacuten del meacutetodo
RK45-DP El coacutedigo feente puede ser consultado en el Anexo II
i Q a Uuml b iexcl b iexcl
13 5
3 5 45 1 7 9
gt 7 6 0 0
2 1y
1y 0 0
33
T iuml iuml
34 0
94 0
5 0 0 7 5 7 11 6 6 9 5
44
4 4 5 6mdash R
3 2T
1 2 5TO
3 9 3
587
1 9 3 7 26 5 6 1
2 5 3 6 02 1 8 7
6 4 4 4 86 5 6 1
2 1 27 2 9
2 1 8 76 7 8 4
9 2 0 9 73 3 9 2 0 0
6 19 0 1 7 3 5 5
mdash I T4 6 7 3 2 4 9
m5 1 0 3 11
w1 8 7
7 13 5
3 8 40
5 0 01 1 1 3
1 2 51 9 2
2 1 8 76 7 8 4
l l8 4 0 _ | _
4 0
i= 1 2 3 4H 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince ( ver Anexo I )
Paacuteg 15
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Utili^mdo la interfase ^ f i c a de coacutemputo desarrollada ( programada )
especialmente para este trabajo descrita en detalle en el Anexo III se evaluaron
diversos sistemas con osciladores acoplados
A- CASOS CON OSCILADORES DE MASAS IGUALES
Se estudiaron 7 casos con estas caracteriacutesticas en los cuales se fae incrementando
el nuacutemero de osciladores Los valores utilizados en los paraacutemetros para los Casos
41 a 47 son
Wj = 0 l kg iquest = k=12Nm
poundi(0) = 0 Li =05m
iquestx(0) = v0 =05 m is y iquestj(0) = 0 V iacute^ l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
41- EL CASO DE DOS OSCILADORES
Se realizaron dos evaluaciones numeacutericas ( tambieacuten llamadas ldquocorridasrdquo ) la
primera con un ldquotamantildeo de pasordquo inicial ho igual a 001 s y otra con un
ldquotamantildeo de p ^ o rdquo inicial h0 igual a 0001 s
Del anaacutelisis de las tablas de valores que devuelve el procedimiento de caacutelculo
numeacuterico descrito en detalle en el Anexo IV se concluye que el segundo
Paacuteg 16
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
oscilador alcanzoacute su velocidad ^ ^ ^ trn e a m ^im a a los 021 se^mdos de
simulacioacuten coincidiendo su valor con el de la velocidad inicial del primer
oscilador
El inverso del intervalo de tiempo que transcurre entre dos muimos relativos
de deformacioacuten tuvo un valor promedio de 24 duroacutete los 2 primeros
segundos de simulacioacuten es decir en los primeros 2 segundos ocurrieron 5
m uim os relativos de deformacioacuten tal como se aprecia en la Figura 6
Figura 6 - Posicioacuten de los osciladores - Corrida ROI
La Figura 7 muesfra la evolucioacuten temporal de la velocidad media ( Vm
desplazamiento por intervalo de tiempo ) de los osciladores durante los 2
primeros segundos de simulacioacuten Se observa que durante este intervalo de
tiempo ambos osciladores se mueven con una velocidad media de 025 ms
coincidentemente la mitad de la velocidad inicial del primer oscilador ( v^2 )
Paacuteg 17
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
OD 02 04 06 OB 10 12 14 16 18 20
Hlaquompo lt s )
Figura 7 - Evolucioacuten velocidades medias - Corrida ROI
Figura 8 - Evolucioacuten Energiacutea Mecaacutenica - Corrida ROI
Durante los 2 primeros segundos de simulacioacuten la energiacutea cineacutetica del sistema
varioacute de forma sinusoidal al igual que la energiacutea potencial ambas con una
amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica total se mantuvo
constante en 00125 J
Paacuteg 18
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
En la segunda corrida el segundo oscilador alcanzoacute su velocidad instantaacutenea
maacutexima a los 0204 s de simulacioacuten ambos osciladores se desplazaron con una
velocidad media promedio de 025 ^ s ( vo2 ) durante los 2 primeros
segundos de simulacioacuten y los periodos de tiempo entre estiramientos maacuteximos
relativos tienen una frecuencia asociada de 247 Hz
Figura 9 - Posicioacuten de los osciladores - Corrida R02
Figura 10 - Evolucioacuten velocidades medias - Corrida R02
La energiacutea cineacutetica varioacute de forma sinusoidal al igual que la energiacutea potencial
ambas con una amplitud semejante a 00063 J ademaacutes la energiacutea mecaacutenica
Paacuteg 19
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
total se mantuvo constante en 00125 J tal como se muestra a continuacioacuten en
la Figura 11
Iiiv
00 02 04 06 08 10 12 1 6 18 20
bullmpo($ 1
Figura 11 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R02
42- EL CASO DE TRES OSCILADORES
Se realizaron dos corridas una con ldquotamantildeo de pasordquo inicial ho = 001 s y otra
con ldquotamantildeo de pasordquo inicial ho = 00001 s
En la primera corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 018 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vo) en cambio el tercero lo hizo a
los 031 s de simulacioacuten y su valor fae igual al 97 de la velocidad inicial del
primer oscilador ( 097vo )
De la Figura 13 se tiene que los tres osciladores se desplazaron con una
velocidad media promedio de 0166 ^ s ( vo3 ) durante los dos primeros
segundos de simulacioacuten
Paacuteg 20
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
M f + igrave r n i a
iquestlaquoHeacuteV --L Oh 01igrave3Slaquoi-ldquo 1------
G t 0 Ose 03
0 014
0 012
0 006
0006
0 0M
0002
00000 6
TClaquompoltt|
Las frecuencias promedio ( ver Figura 12 ) asociadas a los intervalos de
tiempo entre maacuteximos relativos de estiramiento son 17 Hz para el primer
oscilador 30 Hz para el segundo y 17 Hz para el tercero
Figura 1 4 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R03
Figura 13 - Evolucioacuten velocidades medias - Corrida R03
025
020
015
Figura 12 - Posicioacuten de los osciladores - Corrida R03
IJuM r wf005
0 DO 06 1 0Hlaquompo(s )
050
r bull Kararaquo r bull i J P t 4 i - 0 45
0 4 0
35
30
0 10
005000
08 10 12 ^ bull m p o ( s |
diams E Cineacutetica-mdash r
i E M Total
050 045
0 40
0 35
0 30
0 25
0 20
0 15
0 10
] diams Ose 01 Ose 02 Ose 03
Paacuteg 21
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
La energiacutea cineacutetica de sistema varioacute de forma sinusoidal al igual que la energiacutea
potencial ambas con una amplitud semejante a 0007 J ademaacutes la energiacutea
mecaacutenica total se mantuvo constante en 00125 J
En la segunda corrida el segundo oscilador alcanzoacute su maacutexima velocidad
instantaacutenea a los 01656 s de simulacioacuten siendo su valor igual al 66 de la
velocidad inicial del primer oscilador ( 066vlt)) en cambio el tercer oscilador
alcanzoacute su maacutexima velocidad instantaacutenea a los 03088 s de simulacioacuten y su
valor foe igual al 97 de la velocidad inicial del primer oscilador ( 097vo)
Los tres osciladores se desplazaron con una velocidad media promedio de
0166 ^ s ( v^3 ) durante los 2 primeros segundos de simulacioacuten como lo
muestra la Figura 16
_______
050
045
040
035
030
0 25
0 20
0 15
0 10
005
0 00o o 0 2 0 4 0 6 08 10 1 2 16 1 8 2 0
( s 1
bull o v Oteen - oscos
Figura 1 5 - Variacioacuten de las posiciones - Corrida R04
Las frecuencias promedio asociadas a los intervalos de tiempo transcurridos
enfre maacuteximos relativos de estiramiento son 176 Hz plusmn 006 Hz para el
Paacuteg 22
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
primero 299 H zplusmn 0003 Hz para el segundo y 177 H zplusmn 007 Hz para el
tercer oscilador
08 10 12 Tiempo lt$)
Q 30
0laquo 040 0 55
030
025
0 20
015
010
005
0 00
Ok OI O s tB Oif riacutel
Figura 1 6 - Variacioacuten de las velocidades medias-Corrida R04
i1fpound
08 10 12
Tiempo ( s )
Figura 17 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R04
La energiacutea cineacutetica del sistema varioacute de forma cuasi-sinusoidal al igual que la
energiacutea potencial ambas con una amplitud semejante a 0007 J ademaacutes la
energiacutea mecaacutenica total se mantuvo constante en 00125 J
Paacuteg 23
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
43- EL CASO DE CUATRO OSCILADORES
Se realizoacute una corrida con un ldquotamantildeo de pasordquo inicial ho = 0001 s En esta
corrida el segundo oscilador alcanzoacute su maacutexima velocidad instantaacutenea a los
0165 s de simulacioacuten la cual tiene un valor igual al 66 de la velocidad
inicial del primer oscilador ( 066vo)
El tercer oscilador permanecioacute en reposo hasta t = 0025 s luego comenzoacute a
ganar energiacutea cineacutetica y alcanzoacute su maacutexima velocidad instantaacutenea a los 0275
segundos de simulacioacuten igual a 061vo mientras que el cuarto oscilador
permanecioacute en reposo hasta t = 0061 s luego comenzoacute a ganar energiacutea
cineacutetica y alcanzoacute una velocidad instantaacutenea igual a 094vo a los 0441 s de
simulacioacuten
Figura 18 - Posicioacuten de los osciladores - Corrida R05
Los cuatto osciladores se desplazaron con una velocidad media promedio de
0125 ms ( vo4) durante los 2 primeros segundos de simulacioacuten tal como se
observa en la Figura 19
Paacuteg 24
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Figura 1 9 - Variacioacuten de las velocidades medias - Corrida R05
De las Tablas de resultados obtenidos se tiene que las frecuencias promedio
asociadas a los intervalos de tiempo entre maacuteximos relativos de estiramiento
son para el primer oscilador 138 plusmn 008 Hz mientras que para el segundo y
el tercero se tiene un conjunto de frecuencias que incluyen las siguientes 105
plusmn 026 206 plusmn011 388 plusmn 012 y 324 plusmn 016 Hz mientras que para el cuarto
se tiene 132 plusmn 006 Hz
0 014
0012
0 010
0009
0006
00M
0 002
0 00000 02 04 06 08 10 1 2 14 1 6 18 2 0
TIlaquom po lt s |
iI
Figura 2 0 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R05
Paacuteg 25
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
De la Figura 20 se tiene que la energiacutea cineacutetica del sistema varioacute formando
patrones irregulares de doble pico al igual que la energiacutea potencial ambas con
una amplitud variable sin embargo la energiacutea mecaacutenica total se mantuvo
constante en 00125 J durante los dos segundos de simulacioacuten
( aproximadamente 80 000 caacutelculos)
Una vez maacutes se observa que las variaciones de la energiacutea cineacutetica son opuestas
a las de la energiacutea potencial de tal manera que ambas forman curvas
simeacutetricas respecto de la mitad del valor de la energiacutea mecaacutenica
44- EL CASO DE 20 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 001 s A esta
corrida se le denomina ldquoCorrida R06rdquo y en ella se observa coacutemo los
osciladores cambian draacutesticamente su posicioacuten cada cierto periodo de tiempo
Figura 2 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R06
0
0 3 0
0 20
V f
1050
bullmpo(i )
Pag 26
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
9 3 0
3 IB
3 10_ 305 V
3 0 0| 295
2 9 0
2BS
200 0 10 20 30 4 0 50 60 70 80 9 0 100
ttlaquompo s |Figura 22 - Cambios en la posicioacuten del oscilador Ndeg20 en la
Corrida R06 durante el tiempo de simulacioacuten
Las Figuras 21 y 22 reflejan el comportamiento que evidencian los osciladores
en todos los demaacutes casos analizados el mismo que seraacute discutido maacutes adelante
en la seccioacuten 5 Observaciones y Conclusiones
La energiacutea mecmica del sistema se mantuvo constante en 00125 J durante los
diez segundos de simulacioacuten ( 200 000 caacutelculos aproximadamente ) en
cambio tanto la energiacutea cineacutetica como la energiacutea potencial v^iaron de forma
inversa alrededor de un valor en comuacuten ( la mitad de la energiacutea mecaacutenica )
exhibiendo intervalos perioacutedicos de mucha variabilidad
0014
0 0 1 2
0010
j OOOB
^ 0006
0 0 M
0002
00000 q 1 0 20 3 0 4 0 50 6 0 7 0 B 0 90 100
laquompo ( s I
Figura 23 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R06
Paacuteg 27
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
45- EL CASO DE 100 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 0001 s En ella es
mucho maacutes notorio el hecho que los osciladores cuanto maacutes alejados del
primero maacutes tiempo permanecen en reposo es decir existe un ldquotiempo de
retardordquo para que el impulso inicial dado al primer oscilador se manifieste en
el -esimo
Tiempo ( s l
Figura 24 - Posicioacuten del Oscilador Ndeg 1 - Corrida R07
e
i 149
14040 80 100 120
Tleacutempo ( s )
Figura 25 - Posicioacuten del Oscilador Ndeg 100 - Corrida R07
Paacuteg 28
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
La Figura 25 muestra que el tiempo de retardo para el oscilador nuacutemero 100
es semejante a 9 segundos por lo tanto se requirioacute resolver 200 ecuaciones
diferenciales en cada uno de los 9000 intervalos de tiempo es decir unos 10
millones de caacutelculos antes de obtener este resultado
En ese sentido para no incrementar excesivamente el volumen de los caacutelculos
a realizar cuando se simulen miles de osciladores el tamantildeo del paso inicial
debe aumentar maacutes auacuten si se toma en cuenta que el tiempo de retardo para
estos osciladores es del orden de las decenas o centenas de segundo
0 OM
0012 0 010
0008
0 006
0 0M
0002
0 0000 0 2 0 4 0 60 80 100 12 0 140 160 180 200
^ bull m p o ( s )
Figura 2 6 - Variacioacuten de Energiacutea Mecaacutenica - Corrida R07
Se observa que tanto la energiacutea cineacutetica como la energiacutea potencial del sistema
presentan ldquointervalos de calma y de tempestadrdquo los cuales tiene una duracioacuten
que es del orden de magnitud del tiempo de retardo del uacuteltimo oscilador sin
embargo la energiacutea mecaacutenica total se mantuvo constante en 00125 J durante
todo el tiempo de simulacioacuten
Paacuteg 29
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
46- EL CASO DE 1000 OSCILADORES
Se realizoacute una corrifa con ldquotamantildeo de pasordquo inicial ^ = 01 s En ella se
evidencia una vez maacutes que el uacuteltimo oscilador comienza a moverse luego de
un tiempo semejante a la deacutecima parte del nuacutemero de osciladores expresados
en segundos
a 50 100 150 200 250 300
Tiempo ( $ )
Figura 27 - Posicioacuten del Oscilador Ndeg 1 - Corrida R08
Figura 28 - Posicioacuten del Oscilador Ndeg 100 - Corrida R08
Paacuteg 30
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Pos
icioacute
n i m
300
bullmpo(s)
Figura 29 - Posicioacuten del Oscilador Ndeg1000 - Corrida R08
Figura 30 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R08
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experimentan
ldquoperturbacionesrdquo a intervalos de tiempo semejantes al tiempo de retardo del
oscilador maacutes alejado La energiacutea mecaacutenica total exhibe un incremento de 4
luego de 300 segundos de simulacioacuten ( unos 60 millones de caacutelculos ) por lo
que se considera que se mantuvo constante en 00125 J
Paacuteg 31
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
47- EL CASO DE 10 000 OSCILADORES
Se realizoacute una corrida con ldquotamantildeo de pasordquo inicial ho = 01 s En ella se
evidencia una vez maacutes que cada uno de los osciladores es ldquojaladordquo hacia otras
posiciones de ldquoequilibriordquo cada cierto intervalo de tiempo que depende de
cuaacuten alejado del primero esteacute ( de su ldquoposicioacutenrdquo en el sistema de su ldquonuacutemero
de osciladorrdquo )
A
poundIamp
Figura 3 1 - Posicioacuten del Oscilador Ndeg 1 - Corrida R09
010
005
020
0 1 5
mdash
- niacutegtlt ir 3000 w iexcl -
Tiamp o
I
1505
1500
1495
1490
148S
14 801500
Tiem po s )
ry+iacutef-----2500 3000
Figura 32 - Posicioacuten del Oscilador N0100 - Corrida R09
Paacuteg 32
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Entri
lt Jd
uh
Figura 33 - Posicioacuten del Oscilador Ndeg1000 - Corrida R09
1500
Figura 34 - Posicioacuten del Oscilador Ndeg10000 - Corrida R09
1500
Figura 35 - Evolucioacuten Energiacutea Mecaacutenica Corrida R09
Pagraveg 33
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Tanto la energiacutea cineacutetica como la energiacutea potencial del sistema experim en t
importantes variaciones a intervalos perioacutedicos de tiempo los cuales son
semejantes al tiempo de retardo del oscilador maacutes alejado
La energiacutea mecaacutenica total exhibe un incremento de 3 luego de 3000
segundos de simulacioacuten ( unos 6 000 millones de caacutelculos ) por lo que se
considera que se mantuvo constante en 00125 J
B- CASOS CON OSCILADORES DE MASAS DIFERENTES
Se estudi^on 7 casos con estas c^acteriacutesticas en todos ellos solo se emplearon
dos valores distintos de masas y se fae v^iando la posicioacuten de la mayor Los
valores utilizados en los paraacutemetros para los Casos 48 a 414 son
rn = 01 k g Mt - 03 kg
ki - 2 N m V
pound(0) = 0 iquest = 0 1 5 ^
iquesti(0) = v0 = 05 m s y pound((0) = 0 V l
Con lo cual inicialmente la Energiacutea Mecaacutenica Total coincide con la Energiacutea
Cineacutetica y tiene un valor igual a 00125 J
Paacuteg 34
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
48- EL CASO DE DOS OSCILADORES M-m
Utilizando un tamantildeo de paso inicial ^ = 001 s se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 36 - Posicioacuten Osciladores M-m - Corrida RIO
iacute l i m p o i b i
090 0 00
0 70
laquo0oso
040
Vdiamsmdash1i ldquo raquogt laquo laquo mimmm raquo iacute t n t rrrr-rw t w gt t r r j
030
020
OiC 01 OH 02010
0 8 10sgt
Figura 37 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RIO
Paacuteg 35
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
tni-
glB
utigrave-
jfil
49- EL CASO DE DOS OSCILADORES m-M
Utilizando un tamantildeo de paso inicial ho = 001 se evaluoacute el comportamiento
de dos masas unidas por un resorte donde la de menor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose
Figura 38 - Posicioacuten Osciladores m-M - Corrida RII
Figura 39 - Evolucioacuten Energiacutea Mecaacutenica - Corrida RII
Paacuteg 36
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
410- EL CASO DE TRES OSCILADORES M-m-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por - resortes donde la de mayor masa tiene como
condicioacuten inicial una velocidad diferente de cero obtenieacutendose los siguientes
graacuteficos
050
045
0 40
035
- 0 30 EJ 0 25
vpound 020
0 15
oio
0 05
0 0000 02 04 06 06 10 12 14 1 6 18 20
bullmpo1 l
Figura 40-Posicioacuten Osciladores M-m-m-Corrida R12
Figura41 - Evolucioacuten Energiacutea Mecaacutenica-Corrida R12
Paacuteg 37
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
411- EL CASO DE TRES OSCILADORES m-M-m
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa se encuentra en
medio de las otras dos obtenieacutendose los siguientes graacuteficos iexcl
050
D45 040
035
bull | 0250
pound 020
015
0 10
005
00000 02 04 06 00 10 12 14 16 10 20
Figura 42 - Posicioacuten Osciladores m-M-m - Corrida R13
0 014
0012
0010
1 Ma pound 0006
00M
0002
000000 02 04 06 00 1 0 12 14 16 10 20
bullmpo(s)
Figura 43 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R13
Paacuteg 38
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
412- EL CASO DE TRES OSCILADORES m-m-M
Utilizando un tamantildeo de paso inicial fy) = 001 s se evaluoacute el comportamiento
de tres masas unidas por resortes donde la de mayor masa es la maacutes distante a
aquella que tiene como condicioacuten inicial una velocidad diferente de cero
obtenieacutendose los siguientes ^aacuteficos
Figura 44 - Posicioacuten Osciladores m-m-M - Corrida R14
OSO045
040035
030
010
005 + DSC 01 Ose o Que Q3
Tiempo i s )
m
In
Ioow
E CirfiacuteeacuteGCiacuteJ t PoteiacuteKifll fc M ctai
08 10 1-2
Tlompo ($ )
Figura 4 5 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R14
Paacuteg 39
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
413- EL CASO DE 1000 OSCILADORES m-M alternadamente
Utilte^do un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
200
Figura 46 - Posicioacuten Oscilador Ndeg 1 - Corrida R15
100 150Tilaquompo | s I
250 30014 B0
010
005
0 000 300
bull V A i-laquogt bullltlaquo raquo
150 200 250100Tiempo ( s
Figura 47 - Posicioacuten Oscilador N0100 - Corrida R15
Pag 40
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Figura 48 - Posicioacuten Oscilador Ndeg1000 - Corrida R15
Figura 49 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R15
Paacuteg 41
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
414- EL CASO DE 1000 OSCILADORES M-m alternadamente
Utilizando un tamantildeo de paso inicial ho = 001 s se evaluoacute el comportamiento
de 1000 masas unidas por resortes donde masas pequentildeas alternan con
mayores teniendo solo una de las pequentildeas velocidad inicial diferente de cero
con lo que se obtuvo los siguientes graacuteficos
Figura 51 - Posicioacuten Oscilador Ndeg 100 - Corrida R16
040
0 35
0 30
025
020
015
R16
151
14 9
Figura 50 - Posicioacuten Oscilador Ndeg 1 - Corrida
Ifl7
(1 05
- mdash -00ifMIOtoo 1 u iquesttllj bull bull bull
l lampo | laquo i
kgtbulli Mi
Paacuteg 42
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Ila i pu
ligrave t
ramilaquo
i m I
OOOT
poundPrteroial
IMO
Figura 53 - Evolucioacuten Energiacutea Mecaacutenica - Corrida R16
Figura 52 - Posicioacuten Oscilador Ndeg1000 - Corrida R16
1499
01000OT
1496 0 100 150empo|s)
200
00OT
iacute D015
00 OTiD 10QJG 20DJ3 2500 ima
0 M 0
QOX
Diraquo
Pag 43
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
C- A SU M E N ESQUEMAacuteTICO
415- CASOS CON MASAS IGUALES
y tTr = 0004s
O t r a - V 0ldquoT-----T D= 015 D = 030
Tr = 062 s Tr = 0940s20 = 0
Oacute D = 045 x 0^ T ----------T-----------D = 045 m x
y 1 Tr = 8809sy
Tr = 889s
A - 0 ldquo=00 D = 1485 m x 0 D =14985 m x
Tr = 9072 s
10 000J
mdashr---------------------r ------JD = 1 49985 m
kraquoX
= 0
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 44
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
416- CASOS CON MASAS DIFERENTES
Tr = 00054s
O ^ omdash j ------------- 1mdash
D = 015m
u = 0
Tr = 00243
A mdash i------------------1mdash iacute=mdashdiams
D = 030 x
Tr =00037 s
u = 0--T-------mdashD = 015m
Tr =00300 s
V ftl i rD = 030 m x
Tr =00303 s
u =0 k
D = 030 m
Tr = 12470 s
D = 14985 m
Tr = 12438 s
1000 u = 0i gt
D = 14985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador
Tr = El denominado ldquoTiempo de Retodordquo en el presente frabajo
Paacuteg 45
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
5- OBSERVACIOacuteN Y CONCLUSIONES
51- TIEMPO DE RETARDO
OBSERVACIOacuteN 11
ldquo iexclaposicioacuten del uacuteltimo oscilador se mantiene constante durante un intervalo
de tiempo directamente proporcional al nuacutemero de osciladores rdquo
Efectivamente del anaacutelisis de las tablas de valores que devuelve el procedimiento
de caacutelculo se tiene que en todos los casos analizados la posicioacuten de uacuteltimo
oscilador se mantuvo constante durante un intervalo de tiempo al que se le ha
denominado ldquotiempo de retardordquo
Las Figuras 29 y 35 dan cuenta perfectamente de este hecho pero ademaacutes en las
Tablas 3 y 4 se muestran los valores encontrados para este paraacutemetro cuando las
masas feeron ideacutenticas ( Tabla 3 ) y cuando feeron diferentes ( Tabla 4 )
TiempoIacuteO
2 ora3 omi4 o ra
0^0ira 8ra
ira ra ra
iora r a r a
Tabla 3 - Tiempo de Retardo - Masas iguales
Paacuteg 46
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
C o i i f i g i u i c i oacute i iT i e m p o
| s )
m -M 0 ( ^ 4
M -m 0 IT O 7
M -m -m 0 0 2 4 3
m -M -m 0 0 3 T O
m -m -M ooro31 O T x m -M 1 2 4 7 m 0
1 0 1 0 x M -m 1 2 4 3 r o 0
Tabla 4 - Tiempo de Retardo - Masas diferentes
OBSERVACIOacuteN 12
ldquoEn los casos analizados el tiempo de retardo es aproximadamente i^ a l
a la novena parte del nuacutemero de osciladores expresados en se ^n d o srdquo
Las Figuras 54 y 55 dan cuenta de las relaciones empiacutericas ensayadas enfre el
tiempo de retardo y el nuacutemero de osciladores para los casos en los que las masas
son iguales
Figura 5 4 - Relacioacuten en potencia para el Tiempo de Retardo
Paacuteg 47
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
y = 00762X RJ = OMy = 00057X
R = 05822
040
035
- 030P
I 025 Vte| DM amp|iacute- 0 15
045
10
-4 o 1000
3 ose 6 Ose 10 Ose - 100 Ose - lOQQ Ose
10 100 N uacute m e ro d e O s c ila d o re s
Figura 55 - Relacioacuten lineal para el Tiempo de Retardo
CONCLUSIOacuteN 11
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero
de osciladores no es linealrdquo
CONCLUSIOacuteN 12
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten en potencia
para valores menores a 10 osciladoresrdquo
CONCLUSIOacuteN 13
ldquoLa relacioacuten entre el tiempo de retardo y el nuacutemero de osciladores
puede aproximarse a una funcioacuten lineal a medida que aumenta
el nuacutemero de osciladores rdquo
Paacuteg 48
Tie
mp
o d
e R
eta
rdo
11 (
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
52- ENERGIacuteA Y CANTIDAD DE MOVIMIENTO
OBSERVACIOacuteN 21
ldquolas velocidades instantaacuteneas mfaimas de los osciladores son de la
misma m a^itud luego de un tiempo suficientemente granderdquo
Las Figmas 7 10 13 16 y 19 dan cuenta de este hecho de tal manera que un
tiempo suficientemente ^ande pareciera ser igual a 10 veces el tiempo de retardo
OBSERVACIOacuteN 22
ldquolos osciladores ldquosaltanrdquoperioacutedicamente desde unas
posiciones ldquoestablesrdquohacia otras rdquo
Las Figmas 21 22 24 25 27 28 29 31 32 33 34 46 47 48 50 51 y 52 dan
cuenta de este hecho el cual es mucho maacutes notorio a medida que maacutes osciladores
integran el sistema porque permanecen ldquoestablesrdquo durante maacutes tiempo
CONCLUSIOacuteN 21
ldquoLa cantidad de movimiento se transfiere de un oscilador
a otro de manera suacutebitardquo
CONCLUSIOacuteN 22
ldquoLa cantidad de movimiento se transfiere en una direccioacuten hasta
a lca far al uacuteltimo oscilador en esa direccioacutenrdquo
Paacuteg 49
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
OBSERVACIOacuteN 23
cuanto rn^or la masa del oscilador que recibe el impulso
inicial m ^ o r la pendiente en el desplazamientordquo
La Figura 56 da cuenta de este hecho para el caso de 2 masas mientras que las
Figuras 40 42 y 44 lo hacen para el caso de 3 masas
laquo D K 9 1 H n i 4 4 i i --------------i kj --------Tr - --------------T-T-r r a iacute bull a + iln i - r a V ra ____
$ fAj - Win MM
i QIC DI - mM
4Q K O -m H
raquo O x 01 - mm
O x O - ITW1V mdash ----------------------------------------------------------------- - j
bull08 10 1-2
Tiempo i $)
Figura 56 - Evolucioacuten Posiciones - Diversos casos 2 masas
CONCLUSIOacuteN 23
ldquoOsciladores con m ^ores masas se trasladan maacutes
y oscilan menos
OBSERVACIOacuteN 24
los osciladores con mayores masas apantallanrdquo
el movimiento de los maacutes ligerosrdquo
Las Figuras 37 38 39 41 42 y 44 dan cuenta de este hecho pero las Figuras 46 y
49 lo hacen de forma dramaacutetica
Paacuteg 50
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
OBSERVACIOacuteN 25
ldquolas enerampas cineacutetica y potencial experimentan
variaciones perioacutedicas
Este hecho es muy notorio para todo nuacutemero de osciladores aunque llama la
atencioacuten cuaacuten diferentes son los patrones de las energiacuteas a medida que aumenta el
nuacutemero de osciladores Las Figuras 45 49 y 53 dan buena cuenta de este hecho
CONCLUSIOacuteN 24
lEl sistema experimenta configuraciones particulares
de manera perioacutedica rdquo
Pag 51
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
53- EFECTO DEL NUMERO DE OSCILADORES
OBSERVACIOacuteN 31
El nuacutemero oscilaciones alrededor de una posicioacuten establerdquo
depende del nuacutemero de osciladoresrdquo
Este hecho se hace maacutes notorio con velocidades 3 veces superiores a las
empleadas en los casos anteriores ( 15 ms ) cuando se tiene una configuracioacuten
tipo m-M pues como se concluyoacute liacuteneas arriba eacutesta distribucioacuten de masa favorece
las oscilaciones de la pequentildea masa que recibe el impulso inicial Las Figuras 57
58 59 y 60 dan cuenta de este hecho
Ei
100
000
070
060
050
040
030
020
010
000
TIlaquom po I gt
Figura 57 - Posicioacuten Oscilador Ndeg 1 - Caso 6 osciladores m-M
Paacuteg 52
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Pb sl
cloacuten
i i
Plum
oacuten I
m i
Figura 58 - Posicioacuten Oscilador Ndeg 1 - Caso 10 osciladores m-M
090
0 80
70
60
050
QAQ0 30
020
uuml Uuml3
1 CU
0 M M+m+a
ora070
0 60
0 50
0 40
0 30
020
010
0UQ pama100
40
40 SO 60^ bull m p o ( $ )
Figura 59 - Posicioacuten Oscilador Ndeg 1 - Caso 20 osciladores m-M
CONCLUSIOacuteN 31
ldquoEl nuacutemero oscilaciones alrededor de una posicioacuten ldquoestablerdquo
es semejante a la mitad del nuacutemero de osciladoresrdquo
Paacuteg 53
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
ft-APLICACIONES Y PERSPECTIVAS
Utilizando la intftrfaraquo de caacutelculo d^arro lladaj^ imbase a ella pueden
estudiarse sistemas mecaacutenico con dimensiones de otros Edenes de magnitud
por ejemplo podriacutea utilizarse el valor de laenergiacutea de enlaee de una moleacutecula
como valor de la constantedaacutestica y reemplazar la distanciaentrc osciladores
por las distancias inter-atoacutemicas para estudiare comportamiento molecular-
Podiacutean abordarse tambieacuten problemas de electricidad haciendo las respectivas
analogiacuteas entre los componentes de un sistema mecaacutenico acoplado y uno
eleacutectrico e incluso podriacutea disentildearse un circuito para verificar algunas de las
propiedades y comportamientos analizados
I Sabieacutendose estimado el orden de magnitud de los cambios que experimentariacutean
los sistemas estudiados ahora pueden disentildearseo seleccionarse los sensores c
instrumentos maacutes adecuados para registrar experimentalmente la evolucioacuten
temporal de dichos sistemas
Haciendo la analogiacutea entre los desplazamientos de los grandes frentes de masas
de aire y los desplazamientos de las masas aquiacute estudiados podriacutea intentarse
modelar la interaccioacuten de las grandes celdas de circulacioacuten atmosfeacuterica y
estudiar asiacute los patrones espaciales yo temporales de lluvia
Haciendo una analogiacutea entre los desplazamientos de grandes porciones de
cortera terrestre y los desplazamientos de las masas aquiacute estudiadas podriacutea
intentarse modelar la propagacioacuten ( y retardo ) de ondas siacutesmicas
Paacuteg 54
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
7- BIBLIO G ^FIA
[ 1 ] Butkov Eugine 1968 Mathematical PhysicsAddison-Wesley Publishing Company USA Capiacutetulo 10 Finite-Dimensional Linear Spaces Pag 408
[ 2 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 3 ] Davidovich Landau Lev Lifshitz E M 1978 MecaacutenicaEditorial Reverteacute SA EspantildeaCapiacutetulo 18 Pequentildeas Oscilaciones Paacutegina 102
[3 ] Goldstein H 1994 Mecaacutenica Claacutesica Editorial Reverteacute SA Espantildea Capiacutetulo 6 Oscilaciones Pequentildeas Paacutegina 305
[ 5 ] Kittei Charles Knight Walter D 1992 M ec^icaEditorial Reverteacute SA EspantildeaCapiacutetulo 7 El Oscilador Armoacutenico Paacutegina 209
[ 6 ] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con SoftwarePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 7 ] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art of Scientific Computing - 3th Ed Cambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
Paacuteg 55
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
ANEXOI
S e l e c c ioacute n d e l M eacute t o d o N ^ eacute r ic o
El hecho que la aritmeacutetica de una PC sea de precisioacuten finita tanto a nivel de software
como en hardware supone desde ya un limitante a la buacutesqueda de soluciones de
precisiones cada vez mayores por lo tanto el nivel de precisioacuten ldquonecesariordquo debe ser
tambieacuten el ldquooptimordquo para la consecucioacuten de los objetivos es decir aquel que permita
obtener ldquomejores resultados en un menor tiempordquo y no aquel que obtenga ldquolos mejores
resultados en el mayor tiempordquo
Debido al error de redondeo que existe en una aritmeacutetica finita por ejemplo luego de
efectuar muchas operaciones dependientes unas de otras o incluso con el solo hecho de
restar dos nuacutemeros muy parecidos no puede afirmarse directamente que cuanto maacutes
pequentildeo sea el ldquopasordquo ( incremento ) de tiempo utilizado ldquomejor seraacute el resultadordquo o
que con mayor precisioacuten se le habraacute obtenido
La Tabla 1 resume las caracteriacutesticas de los principales meacutetodos numeacutericos empleados
en la resolucioacuten de sistemas de ecuaciones diferenciales ordinarias con condiciones
i n i c i a l e s N o m b re de _______ ^ r r o r _______ O tra slo s m eacute to d o s F oacute rm u la re levan te L ^ raquo l G lo b a l carac te riacutes ticas
Ecuaciona no riacutegidasM eacuteto d o s de E ulcr
h a d a ad e lan te m o m e a d o h a d a a traacute s
D ife ren c ias h ac ia adelan te Regla del t r a c c i o ^ f t J) D ife re n c ia hacia a traacute s t y h 1)
laquoOacute )W )laquoOacute)
A I C F A l C F N L A l C F NL
R u n g e-K u tlade seg u n d o o rd e n de te rce r o rd e n d e c u a n o o rd en
R egia del t r a c c i o Regia de 1 3 de S im pson R egia de 13 o 3 8 de S im pson
w iw 5gt
OfV)OfltJD |aacute |
A I C F A I C F A I C F
P red lc to r-tM rrw to r de seg u n d o o rd en de te r re r o rd en de c u a r to o rd en
(id aacute n tiro a l de R ungc-K u tta de s eg u n d o orden ) N ew ton h a d a a traacute s ^ aacute ) ltXaacute3) N ew lo n hac ia a traacute s O h f )
A l C FN A C DN A C D
E m o c i o n a r iacuteg id a
M d r aacute o s im p lld to s D ife ren c ias hac ia a traacute s m aacute t ^ o de G ear
A I N A
T r a n t f o r a a c ioacute ne r ^ n r o d d
T ran sfo rm ac ioacute nc x ^ n n d a ) A l
N A S in laquo a c i d a d de au to in ic ia lizac ioacute n A I C a p a aacute d a d de a u io in ic id iuacute d 6 n - gt C F El t a m ^ o del in te rv a lo se puede cam b ia r con fac ilidad a m itad de la so lucioacuten C D El ^ ^ ^ o del in te rv a lo se ^ ^ b i a con d ificu ltad N L E n laquo d a p a so ^ r f r i a r ^ u e r i r s e la so lucioacuten de K u a c io n e s n o l in e a l^
Tabla 1 Resumen Meacutetodos Numeacutericos para EDO( Tomado de Nakamura 1992)
Paacuteg 56
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
De la Tabla 1 se desprende que para un mismo nivel de precisioacuten en el resultado el
Meacutetodo de Euler ofrece la mayor sim ples al mayor costo computacional en cambio
los meacutetodos predictor-conector em piezan menos operaciones pero exigen denfro de
su esquema de solucioacuten el uso de procedimientos complementarios p ^a in iciaacutebase
Por lo tanto los meacutetodos Runge-Kutta se encuentran en un nivel intermedio de simpleza
en el procedimiento y demanda de capacidad de caacutelculo por eso desde que los
alemanes Cari Runge y Martin W Kutta los estud ian en 1900 estos meacutetodos han
ganado tanta aceptacioacuten que son hoy en diacutea en uno de los maacutes utilizados en la buacutesqueda
de soluciones numeacutericas a problemas de 1^ maacutes diversas aacutereas del quehacer humano
(Chapra 2003)
Todos los meacutetodos Runge-Kutta se apoyan en el hecho de que la solucioacuten numeacuterica de
una ecuacioacuten diferencial ordinaria en t = t n+i = t n + h llamada vn+i se relaciona con
la integral de una fencioacuten conocida en el intervalo [ tn tn+ i] por lo tanto los diversos
meacutetodos Runge-Kutta se diferencian en el meacutetodo de integracioacuten numeacuterica empleado
para estimar yn+i pero como cada meacutetodo exige un determinado nuacutemero de
estimaciones de yn+i en puntos intermedios del intervalo tambieacuten el nuacutemero de
estimaciones intermedias necesarias caracteriza a los meacutetodos Runge-Kut^
A mayor nuacutemero de estimaciones intemiedias mayor la precisioacuten del yn^ estimado lo
cual implica que los errores decrecen raacutepidamente al reducir el paso h o
equivalentemente aumentar el ldquoordenrdquo pero como al mismo tiempo el nuacutemero total
de operaciones aumenta no es posible garrntiza una mejora de igual maCTitud en el
resultado obtenido luego de varias integraciones en intervalos consecutivos es decir
pmu los meacutetodos Runge-Kutta existe m desempentildeo local y un desempentildeo global
(Nakamura 1992)
Paacuteg 57
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Figura 5 - Desempentildeo de los meacutetodos
Una estrategia para mejorar el desempentildeo de los meacutetodos RK es ajustar el tamantildeo de el
paso de tal manera que el error por truncamiento se mantenga por debajo de un nivel
prefijado esto se consigue o bien mediante dos estimaciones del mismo orden pero con
diferente tamantildeo de paso o bien mediante dos estimaciones con el mismo tamantildeo de
paso pero de diferentes ordenes (Press et al 2007 N^am ura 1992 Chapara 2003)
El mayor defecto del esquema de ldquodoblar el pasordquo es el simficativo aumento de
caacutelculos asiacute por ejemplo los meacutetodos RK de segundo orden pasan de requerir 2 a
requerir 6 evaluaciones de la fimcioacuten por paso los de cuarto y quinto a requerir 11
evaluaciones y en general los de orden superior M requieren de al menos M + 3
evaluaciones
Por este motivo los esquemas ^K ldquoencapsuladosrdquo han g^mdo muchos seguidores
desde que feeron propuestos en 1957 por Merson y popularizados por Erwin Fehlberg
cuando en 1969 demostroacute que era posible configura un meacutetodo ^K de quinto orden con
solo 6 evaluaciones de la fimcioacuten
Desde entonces se hm explorado muchas vrnantes y de muy diversos ordenes pero
uno de los maacutes eficientes es el propuesto en 1980 por D orm id y Prince (Domiand
1980 Press et al 2007 y Chapra 2003) eiacute cual se c^acteriza por m in im i^ el error de
ttuncamiento de la solucioacuten de quinto orden
Paacuteg 58
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
A pesar de que en base al meacutetodo de Dorm^d-Prince se han propuesto otros de mayor
orden (Press el al 2007 Hairer 1993 Cash el al 1990 Bogacki 1996) debido a que eacuteste
ha demostrado tener mayor estabilidad absoluta (Dormand 1986 Wolfram Research
2009 Novikov 2007) mantiene su confian^ al pmto de ser incluido en softwares tan
difendidos como Octave (GNU Octave2009) y Mathematica (W olfr^ Research2009)
y es el algoritmo de solucioacuten por omisioacuten en un software comercial e importante como
Simulink mdash Matlab (The MathWorks2009)
Tom ado en cuenta todas estas consideraciones se seleccionoacute al meacutetodo Runge-Kutta
de quinto orden con coeficientes canoacutenicos y tamantildeo de paso variable propuesto por
Dormand y Prince ( RK45-DP ) debido a que ofrece un alto nivel de precisioacuten y
relativamente baja demanda de caacutelculo pma una solucioacuten adaptativa robusta y de
confianza
E l m eacute t o d o ^ 4 5 - D P
El meacutetodo Runge-Kutta de quinto orden propuesto por Dormand y Prince en 1980
denominado en adelante RK45-DP destaca entre los meacutetodos Runge-Kutta de quinto
orden porque u tili^ solo 6 evaluaciones de la fencioacuten cuando otros meacutetodos del mismo
orden utilizan al menos 11 evaluaciones
Este sorprendente hecho es posible gracias a que el meacutetodo de quinto orden utiliza los
resultados de uno de cuarto orden evaluado sobre los mismos puntos intermedios del
intervalo de tiempo deahiacutela denominacioacuten ldquoRK45rdquo
Aunque Fehlberg fee el primero en proponer un esquema de solucioacuten como este su
meacutetodo minimi^ el error de la solucioacuten de cuarto orden en cambio el meacutetodo RK45-
DP utiliza coeficientes que minimizan el enor de la solucioacuten de quinto orden lo c ^ l
constituye la principal diferencia entre ambos meacutetodos y garantiza una buena
estimacioacuten inicial para el siguiente intervalo de integracioacuten una praacutectica conocida hoy
en diacutea como ldquoextrantildeacioacuten localrdquo
Paacuteg 59
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
i au biexcl biexcl
1 357KT
5179
2 l7
i 0 0
3 3 340
940
500iacute m
757116695
4 47
44 56 32 125T O
393
5 8 1 9 3 ^ 25360 64448 212 21s76784
920979 6561 2 187 6561 729 3392006 i 9017
titocirct355
mdash JT467325247
49m
5103 11W
187
7 i 35784 0 500
n 13125192
21876784
ll84 uuml J_
40
1 7 = 1 2 3 4 5 6
Tabla 2 - Coeficientes del Meacutetodo de Dormand y Prince( Tomado de Press et al 2007 )
Otra caracteriacutestica del meacutetodo ^45-D P es la utilizacioacuten de la teacutecnica FSAL ( por las
siglas en ingleacutes de ldquoFirst Same As Lastrdquo ) la cual evaluacutea la primera etapa del proacuteximo
intervalo de integracioacuten justo cuando se evaluacutea la uacuteltima etapa del intervalo actual
consiguiendo asiacute una estimacioacuten maacutes para ambos intervalos sin realizar una evaluacioacuten
innecesaria de la fancioacuten
La estimacioacuten de cuarto orden del meacutetodo ^45-D P es
Iacute 5179V ( 7571 (393 92097 187 1^+1 ^ +l5760oJiquest1+tl6 6 9 5 3+l64oJ^4 13392005+Ul00T6 + 40
k7
O equivalentemente ( ver Tabla 2 )
Ym = y + (biexcl K + (iquestraquo3 K + fe fe - (iquestraquo5 fe + fe fe + fe fe
Mientras que la de quinto orden es
^ i ^ + l( 35 V384
O equivalentemente ( ver Tabla 2 )
Paacuteg 60
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Donde= f ( x y t )
k 2 = + j A y + J
Aj = f [ x iexcl + ~-h y + ~ k h + ^ k2 h jIO 40 40
klt = f
ks= f
ke = f
x i+f h ygt + IH 1 h ~ ifA + f-3h8
xi + ntilde h gtyt+193726561
kh - 253602187
k0h + 64448 212A h ------- k h
6561 3 729 49017 355
x iexcl + A gty + _ mdash k xh - k 2h 46732 49
k i = f x i + A y t +
316835
384
33 5247A3A + ---- kh -
176 45103
18656kh
t 5 0 0 1 2 5 2 1 8 7 1 1 ^Ai A + ^ mdashmdash k3 h + ^ mdash A4 A------ kh + kh I1113 3 192 4 6784 5 84 6 J
O equivalentemente ( ver Tabla 2 )
k bdquo = ( x i + c nh y i + E a ^ k j h )n-l
Ademaacutes el tamantildeo de paso se controla mediante
0 = hierr0
7=1
15
err i
Donde
err I 1 ^ ( A- 2V N iquest iquest V scale j
scale = atol + |v| rtol |A| = |vbdquo+i mdash y+l | lt scale
Siendo A el vector que contiene la precisioacuten deseada para cada ecuacioacuten atol la
tolerancia en el error absoluto y rtol la tolerancia en el error relativo
Referendaraquo
[ 1 ] Bogacki P and Shampine L F 1996 An efficient Runge-Kutta 45 pairComputers amp Mathematics with Applications vol 32 Ndeg 6 pag 15-28 USA
[ 3 ] Cash J R and Karp A H 1990A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sidesACM Transactions on Mathematical Software vol 16Ndeg3 pag 201-222 USA
Paacuteg 61
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
[ 3 ] Chapra Steve y Canale Raymond 2003 Meacutetodos Numeacutericos para Ingenieros Me Graw Hill Interamericana Meacutexico Capiacutetulo 25 Meacutetodos de Runge-Kutta Paacuteg713
[ 4 ] Department of Electrical and Computer Engineering 2009Runge Kutta Fehlberg-Theory University ofWaterloo Canada Disponible en httpwwweceuwaterlooca~ecel04
[ 5] Dormand J R and Prince PJ 1980A family of embedded Runge-Kutta formulaeJ ofComputational and Applied Mathematics vol 6 Ndeg 1 pag 19-26 USA
[ 6 ] Dormand J R Prince P J 1986A reconsideration of some embedded RungemdashKutta formulae J ofComputational and Applied Mathematics vol 15 Ndeg 2 pag 203-211 USA
[ 7] Fehlberg Erwin 1969Low-order classical Runge-Kutta formulas with step size controland their application to some heat transfer problems - Technical Report 315National Air and Space Administration USA
[ 8] Fehlberg Erwin 1970Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung aufWarmeleitungsprobleme Computing (Arch Elektron Rechnen) vol 6 pp 61-71 Alemania
[ 9 ] GNU Octave 2009Octave Function Reference - ODE45 USA Disponible en httpoctavesourceforgenetdocindexhtml
[10] Hu Xinrong Wei Lan and Li Dehua 2008A Modified Numerical Integration Method for Deformable Object Animation Asia Simulation Conference 2007 Proceedings Springer-Verlag USA
[ 11] Hairer Ernst Norsett S and Wanner G 1993 Solving Ordinary Differential Equations Springer-Verlag USA
[ 12] Mathews John H and Fink Kurtis D 2004 Numerical Methods Using Matlab Prentice-Hall Publications Inc USA Capitulo 8 Solution of Differential Equations
[13] Mathews John H 2009 Numerical Analysis ProjectCalifornia State University Fullerton USA Disponible e n httpmathfollertonedumathewsnumericalhtol
Paacuteg 62
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
[ 14 ] Merson R H 1957An operational method for the study of inte^ating processesData Processing and Weapon Research Establishment Simposium Australia
[ 15] Nakamura Shoichiro 1992Meacutetodos Numeacutericos Aplicados con S o b a rePrentice Hall Hispanoamericana MeacutexicoCapiacutetulo 9 Problemas de Ecuaciones Diferenciales Ordinariascon valor o condicioacuten inicial Paacuteg 289
[ 16] Novikov E A Shomikov Yu V 2007Control ofthe stability of the Dormand-Prince method Sib Zh Ind Mat vol 10Ndeg 4 pag 95-103 Rusia
[ 17] Ponalagusamy R Senthilkumar S 2007A comparison O f^ -F o u rth Orders ofVariety ofMeansand Embedded Means on Multilayer Raster CNN SimulationJ ofTheoretical and Applied Information Tech Vol 3 Ndeg4 Paacuteg 7 Pakistan
[18] Press W Teukolsky S Vetterling WT and Flannering BP 2007 Numerical Recipes The Art ofScientific Computing - 3th EdCambridge University Press USACapiacutetulo 17 Integartion of Ordinary Differential Equations
[ 19] The Apache S o b a re Foundation 2009 Commons Math 20 - SNAPSHOT API USADisponible en httpcommonsapacheorgmathapidocsoverview-summaryhtml
[ 20] The MathWorks 2009Documentation for MathWorks Products USADisponible en httpwwwmathworkscomaccesshelpdeskhelphelpdeskhtml
[ 21] Vigil Merino Yesenia y Mejia Diacuteaz Guillermo 2009 Anaacutelisis Numeacuterico - Apuntes de Curso Universidad de El Salvador El Salvador Disponible en httpwwweisiuesedusvansl 15
[ 22] Wolfram Research Inc 2009Wolfram Mathematica Documentation Center Alemania Disponible en httpreferencewolframcom
Paacuteg 63
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
ANEXOII
Coacutedigo Fuente Meacutetodo Numeacuterico
Se adaptoacute el coacutedigo foente del meacutetodo implementado en Fortran-90 y disponible en
http^^wcsitfsuedu~burkardtf_srcrkf45rkf45fiacute0 para el lenguaje Object Pascal
utilizando el entorno de Borland Delphi
El coacutedigo foente elaborado se disentildeo como una libreriacutea de tal manera que pueda ser
raacutepidamente reutilizada en diversos proyectos asiacute por ejemplo se elaboroacute una interfase
ldquoamigablerdquo para esta libreriacutea y se obtuvo la plataforma de simulacioacuten usada para
analizar un sistema de osciladores acoplados
El coacutedigo foente de la interfase se encuentra en el Anexo III y a partir de la siguiente
paacutegina se muestra el coacutedigo foente del meacutetodo numeacuterico empleado
Paacuteg 64
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
UNIT URK_EDSON
internee
uses sysutils
constEMaxSize = 2147483648 2 gigabytes 2A31 EDoubleSize = SizeOf(Double)EM AXFLT = Trunc(EMaxSize EDoubleSize) -2
typeTEVector = array[OEMAX_FLT] ofDouble PEVector = ATEVectorTEDiffiqs = procedure(X Double Y Yp PEVector)
procedure EDimVector(var V PEVector Ub Integer)
procedure EDelVector(var V PEVector Ub Integer)
procedure RK2ED0_20Heun( F TEDiffEqsNeqn IntegerY Yp PEVectorTi h Double)
procedure RK2ED0_40Clasic( F TEDiffiqsNeqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
implementation
procedure EDimVector(var V PEVector Ub Integer) var
I Integer begin
Check bounds if(Ub lt 0) or (Ub gt EMAX FLT) then
begin V =nilExit
end
Allocate vectorGetMem(V (Ub + 1) EDoubleSize) if V = nil then Exit
for I= 0 to Ub do VA[I] = 00
end
procedure EDelVector(var V PEVector Ub Integer) begin
ifV ^ nil then begin
Pag 65
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
FreeMem(V (Ub + 1) EDoubleSize) V = nil
end
procedure RK2ED0_20Heun( F TEDiffiqs Neqn IntegerY Yp PEVectorTi h Double)
varYY YYp PEVectorT double iiintegerKl K2 PEVector ggtextfile ssstring
beginassi^file(ggcddtxt)rewrite(gg)
EDimVector(YYnEqn)EDimVector(YYpnEqn)EDimVector(kl nEqn) EDimVector(k2nEqn) for ii=1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
ss=ss=e+floattostrF(TiOTixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]fflixed146) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
T=TiF(T YY YYp)K lA[l]=YYpA[l]K lA[2]=YYpA[2]
ss=ss=floattostrF(TffFixed 146) write(ggss)for ii= 1 to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixed 146) write(ggss)ss=chr(9)+floattostrF(YYp A[ii]OTixed 146) write(ggss)
endwriteln(gg)flush(gg)
Pag 66
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
T-Ti^)YYA[1]=YYA[1 ]+KlA[l] YYa[2]=YYa[2]+K1a[2] F(T YY YYp) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
ss=ss=floattostrF(TffFixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(YYA[ii]OTixedl 46) write(ggss)ss=chr(9)+floattostrF(YYpA[ii]ffFixed146)write(ggss)endwriteln(gg)flush(gg)
YA[1 ]=YA[1 ]+(05(Kl A[ 1 ]+K2A[ 1 ])) YA[2] =YA[2]+(05(K 1 A[2]+K2A[2]))
5
ss=floattostrF(TOTixed146)write(ggss)for ii=l to Neqn do begin ss=chr(9)+floattostrF(Kl A[ii]OTixed146) write(ggss) endwriteln(gg)flush(gg)closefile(gg)end
procedure RK2ED0_40Clasic( F TEDiffiqs Neqn IntegerY Yp PEVectorvar Ti Doubleh RelErr AbsErr Double var Flag Integer)
variirintegerT doubleYYYYp PEVectorKl K2 K3 K4 PEVector
beginEDimVector(YYnEqn)EDim V ector(YYpnEqn)EDimVector(kl nEqn) EDimVector^nEqn) EDimVector^3nEqn) EDimVector(k4nEqn) for ii= 1 to nEqn do begin YYA[ii]=YA[ii]YYpA[ii]=YpA[ii]
end
T=TiF(T YY YYp)
Pag 67
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
K lA[l]-YYpA[l]K lA[2]=YYpA[2]
T=Ti+(05h)YYA[1 ]=YYA[l]+(05KlA[l]h) YYA[2]=YYA[2]+(05K 1 A[2]h) F(T YY YYp ) K2A[l]=YYpA[l] K2A[2]=YYpA[2]
T=Ti+(05h)YYA[l]=YYA[l]+(05K2A[l]h) YYA[2] =YYA[2]+(05K2A[2]h) F(T YY YYp ) K3A[l]=YYpA[l] K3A[2]=YYpA[2]
T=Ti+(h)YYA[l]=YYA[l]+(K3A[l]h)YYA[2]=YYA[2]+(K3A[2]h)F(T YY YYp )K4A[l]=YYpA[l]K4A[2]=YYpA[2]YA[1]=YA[ 1 ]+((l6)(K lA[ 1 ]+2K2A[l ]+2K3A[l ]+K4A[l ])) YA[2]=YA[2]+((16)(K1A[2]+2K2A[2]+2K3A[2]+K4A[2]))
end
END
Paacuteg 68
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
ANEXO III
Coacutedigo Fuente Interfase Computacional
Se implemento la solucioacuten numeacuterica utilizando el lenguaje Object Pascal y el entorno de
desarrollo del Delphi ver 60 por las razones expuestas en el Anexo II habieacutendose credo
tambieacuten una interfase graacutefica para el usuario final donde de manera amigable se pueden
especificar los valores de los paraacutemetros necesarios para la simulacioacuten
En eacutesta interfase graacutefica se muestra ^mbieacuten el resultado de la simulacioacuten un graacutefico
con las posiciones de los osciladores en funcioacuten del tiempo siempre que se esteacuten
simulando menos de 20 osciladores
La evolucioacuten temporal de las posiciones de los n osciladores acoplados asiacute como la
energiacutea mecaacutenica del sistema se guardan en un archivo de texto delimitado por
tabulacionesjunto con el detalle de los caacutelculos realizados
El coacutedigo fuente del meacutetodo numeacuterico se encuentra en el Anexo II y a continuacioacuten se
presenta una vista de la interfase graacutefica y el coacutedigo fuente de la misma
( F tacaacutem sl^^ te------eacute cada | 015
Lr HruumlciL iW mdash
Sdo
C
OSUacuteVX0^VX
E oxamp 0 laquo
2 -30 a VX010
VX4U
Figura 1 - Vista Principal de la Interfase Gragravefica
Pagraveg 69
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
UNITUERK
i n t e r f a c e
usesWindows Messages SysUtils Variants Classes Graphics
Controls Forms Dialogs StdCtrls urkf uEarray Series ExtCtrls TeeProcs Chart ImgList TeEngine
typeTFomOSC = class(TForm)
cmd calc TButtonChartl TChart eN TEdit eL TEditRadioGroup 1 TRadioGroup RadioGroup2 TRadioGroup eM TEditRadioGroup3 TRadioGroup eV TEditRadioGroup4 TRadioGroup eK TEditSaveDialog TSaveDialog Image2 TImage cmd stop TButtonSeries 1 TLineSeriesSeries4 TLineSeriesSeries7 TLineSeriesSeries0 TLineSeries Seriesl3 TLineSeriesSeries 16 TLineSeries Seriesl9 TLineSeries eTi TEdit eTf TEdit eTs TEdit eEr TEdit eEa TEditLabel2 TLabel
Series2 TLineSeries Series5 TLineSeries Series8 TLineSeries Seriesll TLineSeries Series 14 TLineSeries Series 17 TLineSeries Series20 TLineSeries
Series3 TLineSeries Series6 TLineSeries Series9 TLineSeries Seriesl2 TLineSeries Seriesl5 TLineSeries Seriesl8 TLineSeries
Label3 TLabel Label4 TLabel Label5 TLabel Label6 TLabel
cGraf TCheckBox cTrace TCheckBox cmd selec TButtonOpenDialog TOpenDialog procedure cmd_calcClick(Sender TObject) procedure cmd_stopClick(Sender TObject) procedure Image2Click(Sender TObject) procedure FormDblClick(Sender TObject) procedure Chartl DblClick(Sender TObject) procedure cTraceClick(Sender TObject) procedure cmd_selecClick(Sender TObject)
private Private declarations
public Public declarations
end
Pag 70
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
v a r
FomOSC TFomOSC
nEqnKMbDetenerbRunning
Integer Number of equations PvectorPvector
booleanboolean
bSelected gt oSelec oJJ
booleanPEIntVector
int64
eMemory THeapstatustextfile
implementation
uses CredFom
$R dfa
Procedure fill_K( k Pvector nEqn Integer) var ii integer I0ltkltl5 Nm resorte begin 90ltklt120 Nm atomo
KA[0]r 0for ii=l to nEqn doKA[ii]=abs(strtofloat(fomOsceKtext))
formOsceKText= +floattostrF(KA[l]fflixed72) end
Procedure fill_M( m PvectornEqn Integer) var i i integer 0050ltmlt0160 Kg resorte begin 926x 10-26 Kg atomo Hierro
for ii= 1 to nEqn doMA[ii]=abs(strtofloat(formOsceMtext))
formOsceMText= +floattostrF(MA[l]fflixed72) end
Procedure fill_Y0_Yp0( XYYp Pvector nEqn Integer)var iirintegerbegin
for ii= 1 to nEqn do XA[ii]=abs(strtofloat(fomOsceLtext))(ii-l) for ii= 1 to nEqn do YA[ii]=0 for ii= 1 to nEqn do YpA[ii]=0YA[2]=strtofloat(formOsceVT ext) formOsceLText= +floattostrF(XA[2]fflixedgt72) fomOsceVText- +trim(formOsceVText)
end
procedure CoupOsc(T Float Y Yp PVector)var iirintegerbegin
for ii= 1 to (nEqn div 2) do YpA[2ii-l]=YA[2ii]
YpA[2l] = -(((KA[I]MA[1]))YA[I]) +(((KAH]MA[1]))YA[3])for ii=2 to ((nEqn div 2)-l) do
Pag 71
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
YpA[2ii] = ((K[ii-l]MA[ii])YA[2ii-3])-(((K[ii-l]MA[ii])+(K[ii]M A[iil))YAf2ii- 1 J)+(((KA[ii]MA[ii]))YA[2ii+l])
ii=(nEqn div 2)YpA[2ii]= ((KA[n-l]MA[ii])YA[2ii-3])-(((KA[ii-l]MA[ii]))YA[2ii-l])
end
Procedure INIT Graphvar iiintegerbegin
for ii=1 to (fomOscChartlSeriesCount) do fomOscChartl Series[ii-1 JClearformOscchartlTitleTextText-Posicioacuten de los Osciladores formOscChartl LeftAxisAutomaticMaximum=false formOscChartl LeftAxisAutomaticMinimum=false formOscChartl LeftAxisMaximum=015(nEqn div 2) formOscChartlLeftAxisMinimum=-010 formOscChartlLeftAxisIncrement=010 applicationProcessMessages
end
Procedure ADD to Graph( i i integer X Y double ) begin
formOscChartl Series[ii- l]AddXY(XY) end
procedure TFormOSCcmd_calcClick(Sender TObject)var Global variables used by all test procedures
X Y Yp PVector Functions and derivatives Tstart Tstop Float Integration interval StepSize Float Step sizeAbsErr RelErr Float Abs and relative errorsFlag Integer Error flagT Tout Float Integration times
y integer fftextfile ssstring
Function EnerK( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=1 to ( nEqn div 2 ) do EE=EE+05MA[ii]YA[2ii]YA[2ii]Result=EE
end
Function EnerP( Y PVector) double var iiinteger EEdouble begin
EE=0for ii=l to ( (nEqn div 2)-l ) doEE=EE+05KA[ii](YA[2ii+l]-YA[2ii-l])(YA[2ii+l]-YA[2n-l])Result=EE
end
Paacuteg 72
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
BEGIN
if bRunning then exit elsebRunning=true if strtoint(eNText)lt2 then exit else Neqn = 2strtoint(eNText)
cmd_calcFontStyle=[]cmd_stopFontstyle=[fsBold]
DimVector(X Neqn)DimVector(Y Neqn)DimVector(Yp Neqn)DimVector(K Neqn)DimVector(M Neqn)
Fill_K( K nEqn )Fill M( M nEqn )
Fill_YO_YpO( X Y Yp nEqn )
Tstart = strtofloat(eTiText)Tstop = strtofloat(eTfText)
StepSize = strtofloat(eTsText)
AbsErr = strtofloat(eEaText)RelErr = strtofloat(eErText)
Flag = 1
T = Tstart
assignfile(ffcEDOTMP)rewrite^
WriteLn(ffCoupled Oscilators)W riteLn(ff=------ = -^ L=l)W riteLn(^
ss=write(ffT)
ifbSelected thenbegin
if cTraceChecked thenbegin for_u=l tooJJ dobegm ss=chr(9)+ Y(+inttostr( 2oSelecA[u]-l )+) write(ffss)ss=chr(9)+ Y(+inttostr( 2oSelecAft] )+)write(ffss)endfor jj=1 to oJJ do begin ss=chr(9)+ Yp(+inttostr( 2oSelecA ] - l )+) write(ffss)ss=chr(9)+ Yp(+inttosfr( 2oSelecAft] )+)write(ffss)end
Pag 73
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
endfor_u=l tooJJ do begin ss=chr(9)+ X(+inttostr( oSelecAf t ] )+) write(ffss)
end
end else begin
if cTraceChecked then begin for jj=l to Neqn do begin ss=chr(9)+ Y(+inttostrCy)+) write(ffss)
endfor y=l to Neqn do begin ss=chr(9)+ Yp(+inttostrCy)+) write(ffss) end
endfor_y=l to (Neqn div 2) do begin ss=chr(9)+ X(+inttostr(y)+) write(ffss) end
end
writelniff^hr^+EK+chr^+EP+chr^+EM )writeln(^
ss=write(ffT146)
if bSelected then begin
if cTraceChecked then begin for_y=l tooJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA ] ]OTixed146)write(ffss)endfor_y=l tooJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]OTixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA ] ]ffFixed 146) write(ffss)
end end
for_y=l to oJJ do beginss=chr(9)+floattostrF(XA[ oSelecA[u] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_y=l to Neqn do begin ss=chr(9)+floattostrF(YA[y]OTixed 146) write(ffss)
end
Pag 74
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
forjj 1 to Neqn do begin ss=chr(9)+floattostrF(Yp ]ffFixed146) write(ffss) end
end
for_p= 1 to (Neqn div 2) do begin ss=chr(9)+floattostrF(XA[jj]ffFixed 146) write(ffss) end
end
ss=chr(9)+floattostrF(EnerK(Y)fflixed146) ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146) ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)Wixed 146) writeln(ffss) flush(^
INITGraphbDetener=falserepeat
Tout = T + StepSizeRKF45(CoupOsc nEqn Y Yp T Tout RelErr AbsErr Flag)
ss=write(ffT146)
ifbSelected then begin
if cTraceChecked then begin forjj=1 to oJJ do beginss=chr(9)+floattostrF(YA[ 2oSelecA ] - l ]ffFixed146) write(ffss)ss=chr(9)+floattostrF(YA[ 2oSelecA j ]ffFixedl46) write(ffss)
endfor jj= 1 to oJJ do beginss=chr(9)+floattostrF(YpA[ 2oSelecA ] - l ]fflixed 146) write(ffss)ss=chr(9)+floattostrF(YpA[ 2oSelecA|j ] ]ffFixed146) write(ffss)
end end
for jj=l tooJJ do beginss=chr(9)+floattosd-F(YA[2oSelecAto]-l]+XA[ oSelecA ] ]OTixed146) write(ffss)
end
end else begin
if cTraceChecked then begin for_u= 1 to Neqn do begin ss=chr(9)+floattosttF(YA ]ffFixed 146) write(ffss)
endfor jj=l to Neqn do beginss=chr(9)+floattostrF(YpA|i]ffFixed146)
Pag 75
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
^ te(ffss)end
endforjj=l to (Neqn div 2) do beginss=chr(9)+floattostrF(YA[2jj-l]+XA ]OTixed146)wite(ffss)
end
end
ss=chr(9)+f1oattostrF(EnerK(Y)Wixed146)ss=ss+chr(9)+floattostrF(EnerP(Y)ffFixed 146)ss=ss+chr(9)+floattostrF(EnerK(Y)+EnerP(Y)OTixed146)writeln(ffss)flush(^
if cGrafChecked then for_u=l to (Neqn div 2) do ADD_to_Graph(uTYA[2jj-1 ]+XAft])
T = ToutapplicationProcessMessages
until (ToutgtTstop) or bDetener
Closefile(ff)
DelVector(k Neqn)DelVector(m Neqn)
DelVector(X Neqn)DelVector(Y Neqn)DelVector(Yp Neqn)
bRunning=false
if bSelected then begin bSelected=falseDelEIntVector( oSelec oJJ)
end
cmd_calcFontStyle=[fsBold] cmd stopFontstyle=[]
end
procedure TFormOSCcmd_stopClick(Sender TObject) begin
bDetener^uecmd_calcFontStyle=[fsBold]cmd_stopFontstyle=[]
end
procedure TFormOSCImage2Click(Sender TObject) begin
if SaveDialogExecute thencopyfile(pchar(cEDOTMP)pchar(savedialogFileName)false)
end
Pag 76
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
procedure TFormOSCFormDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCChartlDblClick(Sender TObject) begin
FormCredshowend
procedure TFormOSCcTraceClick(Sender TObject) begin
if bRunning then cTraceChecked=false end
procedure TFormOSCcmd_selecClick(Sender TObject)var fftextfile ssstring iijjinteger nnint64begin
if OpenDialogExecute then beginassignFile(ffopenDialogFileName) reset(^ ii=0 while not e o ^ ^ do begin readln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError doss=
endif s s^ then ii=ii+l
end
if iigt0 then begin oJJ=iiDimEIntVector( oSelec oJJ)reset(^jj=0 nn=0while not e o ^ ^ do beginreadln(ffss) ss= trim(ss)
nn = StrToint64(ss) except
on E EConvertError do ss=
endif s s^ then beginjj=jj+1oSelecA ]=nn
endif endwhile
end ifiigt0
bSelected=true closefile(^
end opendialog end
END
Pag 77
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
ANEXO IV
Anaacutelisis de las tablas de Resultados
Como resultado de la simulacioacuten numeacuterica se obtiene un archivo de texto con campos
delimitados por tabulaciones que puede ser faacutecilmente importado en cualquier programa
de hoja de caacutelculo tal como MS-Excel en cualquier manejador de b^e de datos tales
como Visual Fox-Pro o MS-Access y programas altamente especializados tales como
SPSS Origen o incluso Matlab
Un ejemplo de las Tablas de Resultados que se obtienen se muestra en la Figura 1
A J o c L o n E OU- raquo i J K I L M Htr Coaled Osctlrtors
13lt uuml V(1) vw m vm Pgt Blt EMB 000 0 ^ 0 ^ 0 ^ 0 ^ 0 3 3 0 ^ 0 ^ 01OTI 0 ^ 01OT 0013 0 00137 001 0(^ 04970 0 ^ 0^3 04970 0 ^ 0 ^ 0 ^ uacuteitrade 00124 0rai49 0013a 03 0399 o4aeligi orni 00119 0431 -11809 00119 11TO 0 ^ 0131 00119 D^^1 00139 03 00147 0 473 0^3 0^3^ 0473 -1739 OKK 17^ 00147 oira 00112 031^ 0013ID 004 00194 D4œ 0 ^ OMffi 04 -22493 00^ 2243 00194 n 001IM 03213 001311 ora QOCT 0437 0312 00713 04287 -2 ^ 00713 2 ^ 01512 0TO4 Dtrade 0013Iacute3 oaelig 0 ^ 0 ^ 0134 o ^ -3ira 0134 31K 0379 0131 0 ^ oraoi 3 001313 03 oœi8 0 ^ 0 ^ 01331 0 ^ -34233 0131 34^ 0318 oiaelig 0 ^ 00131 OjŒ 0 ^ 0314 0347 01^ 0314 -3^ 0 ^ 01^ Ot^ oi ra 001316 oœ 0 ^ 0 ^ o^œ 0^1 0 ^ -3813 0^1 38iaelig 0 ^ oiaelig 0 ^ 0013iexclt 010 0M11 0^4 0 ^ 0 2^ o ^ -3mt 024AElig 30 1 own 01589 00083 0^47 0013
Figura 1 - Tabla de Resultados Tiacutepica
Como puede observarse la primera columna contiene los valores correspondientes al
Tiempo de simulacioacuten 1^ siguientes n columna los valores de 1^ primera derivada
a continuacioacuten n columna con los valores de 1^ segundas derivada seguida de n
columnas que dan cuenta de 1^ posiciones de los n osciladores simulados y finalmente
una columna con el valor de la energiacutea cineacutetica del sistema otra con el valor de la
energiacutea potencial del sistema y la uacuteltima contiene el valor de la Energiacutea Mecaacutenica Total
Todos los valores tienen la mayor precisioacuten que un nuacutemero simple de coma flotante
puede ofrecer ( seguacuten la definicioacuten IEEE del mismo) a saber 7 decimales por lo que si
1^ posiciones se expresan en mefros el error de fruncamiento seriacutea inferior a los
miliacutemetros
Paacuteg 78
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Prnrsquoa encontreacute el momento en el cual un oscilador comienza a moverse basta con
comparar su valor inicial con el de las filas inferiores esto puede hacerse introduciendo
una foacutermula en la hoja de caacutelculo realizando una consulta a la base de datos o iexcl por
simple inspeccioacuten ocular asiacute en la Figura 1 se tiene que el oscilador 2 inicia su
movimiento en t = 002 s ( noacutetese el valor de la celda K8 )
La velocidad media en el tiempo tiexcl se calcula como la relacioacuten entre el despla^miento y
el tiempo transcurrido es decir
Velocidad Media = ( Posicioacuten(tiexcl) - Posicioacuten(O)) ( tiexcl - 0 )
Un maacuteximo relativo de estiramiento se detecta a traveacutes del cambio de signo en la
segunda derivada ( aceleracioacuten ) de esta manera los periodos de tiempo entre maacuteximos
relativos de estiramiento se calculan como la diferencia entre los valores de tiempo
asociados a puntos con esa caracteriacutestica
Paacuteg 79
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
^ N E X O V
Resumen de Principales Resultados
A- SIMULACIONES ANALIZADAS
C oacute d i g o N O s c i l o d o i e s C o i i f i g u i o c i oacute i i llO
R 0 1 2 m - m 0 0 1
R 0 2 2 m - m o œ i
R 0 3 3 m - m 0 0 1
R 0 4 3 m - m 0 0 0 0 1
R 0 5 4 m -m 0 0 0 1
R 0 6 Z l m -m 0 0 1
R 0 7 1 0 0 m - m o œ i
R 0 8 i o œ m - m 0 1
R 0 9 i o o œ m - m 0 1
R 1 0 2 M -m 0 0 1
R 1 1 2 m -M 0 0 1
R 1 2 3 M -m -m 0 0 1
R 1 3 3 m -M -m 0 0 1
R 1 4 3 m -m -M 0 0 1
R 1 5 i o œ m -M 0 0 1
R 1 6 i o œ M -m 0 0 1
Considerado los siguiente valores w = 0 l kg M =03 kg
k = 2 N m Vi
iacute (0) = 0 L = 0 15 m Vi
iacute iexcl (0) = vo =O5 mi s y V iacute l
Paacuteg 80
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
B- RESULTADOS PARA CASOS CON MASAS IGUALES
D= 015
y i Tr = 062 s
0 ^ Oacute - ldquo k= degmdashi-----------------------~r--
y
Tr = 0 9 ^ s
f 0D = Ott x 0 D = 0 ^ m x
r Tr = 8809 sy
Tr = 889s
- f 0D =1485 m x c D =14985 m x
VTr = 9072 s
Tr = 00243 s
D w o w a
D = 030
1 000 = oltbull k0 ^ y
D = 1 49985 m
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 81
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
C- RESULTADOS PARA CASOS CON MASAS DIFERENTES
Doacutende
D = Distancia inicial entre el primer y el uacuteltimo oscilador Tr = El denominado ldquoTiempo de Retardordquo en el presente frabajo
Paacuteg 82
Recommended