84
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE CIENCIAS ESCUELA PROFESIONAL DE FÍSICA SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES OSCILADORES ACOPLADOS UNIDIMENSIONALES INFORME DE SUFICIENCIA PARA OPTAR POR EL TÌTOLO PROFESIONAL DE LICENCIADO EN FISICA Presentado por: BACH. EDSON JESÚS PLASENCIA SÁNCHEZ Asesor: M.SC. EDGAR VIDALÓN VIDALÓN LIMA-PERÚ 2009

SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

Embed Size (px)

Citation preview

Page 1: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 2: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 3: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 4: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 5: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 6: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 7: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 8: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 9: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 10: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 11: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 12: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 13: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 14: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 15: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 16: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 17: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 18: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 19: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 20: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 21: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 22: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 23: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 24: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 25: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 26: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 27: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 28: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 29: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 30: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 31: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 32: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 33: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 34: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 35: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 36: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 37: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 38: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 39: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 40: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 41: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 42: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 43: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 44: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 45: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 46: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 47: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 48: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 49: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 50: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 51: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 52: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 53: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 54: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 55: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 56: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 57: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 58: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 59: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 60: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 61: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 62: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 63: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 64: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

[ 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

Page 65: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

[ 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

Page 66: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 67: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 68: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 69: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 70: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 71: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 72: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 73: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 74: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 75: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 76: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 77: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 78: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

^ 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

Page 79: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 80: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 81: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 82: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

^ 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

Page 83: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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

Page 84: SIMULACIÓN DE UN SISTEMA DE MÚLTIPLES …cybertesis.uni.edu.pe/bitstream/uni/4109/1/plasencia_se.pdf · acoplados las respectivas ecuaciones de movimiento, ... pequeñas masas unidas

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