Está en la página 1de 3

Universidad Nacional de Trujillo

Departamento Académico de Física

SIMULACION NUMERICA DEL MOVIMIENTO DEL OSCILADOR LIBRE, AMORTIGUADO Y


FORZADO USANDO FORTRAN
I. OBJETIVOS:
1.1. Determinar numéricamente la posición, la velocidad y la energía de un
oscilador en en función del tiempo, integrando sus ecuaciones de movimiento
mediante el uso del método de Runge-Kutta de 4º orden y el lenguaje de
programación Fortran 95.
1.2. Usar los datos obtenidos por la integración numérica para construir las gráficas
x(t), v(t), E(t) y diagrama de fase; usando para tal fin un software graficador
apropiado como el GNUPLOT, GRAPHIC ANALIZER, MATLAB u otro.
1.3. Examinar el comportamiento del sistema cambiando los parámetros ajustables
como la constante elástica, la masa, el amortiguamiento, la amplitud de la
fuerza impulsora y la frecuencia de la fuerza impulsora. Discuta los
comportamientos observados.
II. FUNDAMENTO TEORICO:
En la presente práctica, realizaremos la simulación numérica del movimiento del
oscilador armónico simple: libre, amortiguado y forzado. Para lo cual aplicaremos el
método numérico de Runge-Kutta de 4º orden para discretizar las ecuaciones de
movimiento del oscilador y con el algoritmo así obtenido se implementará un
programa de cómputo usando el lenguaje de programación FORTRAN 95.
Ecuaciones de movimiento del oscilador
La ecuación de movimiento del oscilador en la dirección del eje 𝑥 en presencia de
fuerzas amortiguadora e impulsora, es dada por la ecuación de Lagrange [2],

𝑑 𝜕𝐿 𝜕𝐿
( )− = 𝐹0 cos⁡(𝜔𝑡),
𝑑𝑡 𝜕𝑥̇ 𝜕𝑥
1 1
donde 𝐿 = 𝑒 𝛽𝑡/𝑚 (2 𝑚𝑥̇ 2 − 2 𝑘𝑥 2 ). Por lo que la ecuación de movimiento es

𝑚𝑥̈ = −𝑘𝑥 − 𝛽𝑥̇ − 𝐹0 cos⁡(𝜔𝑡), (1)


Esta ecuación puede ser resuelta para las siguientes condiciones iniciales
𝑥(0) = 𝑥0 ,
𝑥̇ (0) = 0.
Para cumplir con el primer objetivo, vamos a resolver la ecuación (1) aplicando el
método de Runge-Kutta de 4º orden que sirve para resolver un sistema de ecuaciones
diferenciales ordinarias de primer orden. Para tal efecto, debemos reescribir la
ecuación (1) en 2 ecuaciones diferenciales ordinarias de primer orden en la
siguiente forma
𝑑𝑥1
= 𝑥3
𝑑𝑡
𝑑𝑥3
= −𝑘𝑥1 − 𝛽𝑥3 − 𝐹0 cos⁡(𝜔𝑡)
𝑑𝑡
donde 𝑥1 ≡ 𝑥 y 𝑥3 ≡ 𝑥̇ .

MSc. Ely Miguel Mecánica Clásica


Método de Runge-Kutta de 4º orden [3]:
El algoritmo de discretización, para una ecuación diferencial ordinaria de primer
orden, dado por el método de Runge-Kutta de 4º orden es el siguiente.
Dada la ecuación diferencial ordinaria de primer orden
𝑥̇ ≡ 𝑓(𝑡, 𝑥)
con valores iniciales 𝑡0 ≡ 0, 𝑥(𝑡0 ) ≡ 𝑥0 . Entonces el algoritmo de integración
numérica es

𝑥𝑖+1 = 𝑥𝑖 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
6
donde
𝑘1 = 𝑓(𝑡𝑖 , 𝑥𝑖 ),
ℎ ℎ
𝑘2 = 𝑓 (𝑡𝑖 + , 𝑥𝑖 + 𝑘1 ),
2 2
ℎ ℎ
𝑘3 = 𝑓 (𝑡𝑖 + , 𝑥𝑖 + 𝑘2 ),
2 2
𝑘4 = 𝑓(𝑡𝑖 + ℎ, 𝑥𝑖 + ℎ𝑘3 )
𝑥𝑖+1 = 𝑥𝑖 + ℎ
siendo ℎ el paso de integración pequeño. Este algoritmo es el que implementaremos
en un programa de cómputo usando el lenguaje de programación Fortran 95.
III. EQUIPO REQUERIDO
01 computadora personal (PC) o LapTop
01 Compilador de FORTRAN 95 (Silverfrost FTN95 con PLATO IDE)

IV. PROCEDIMIENTO
1. Construir el diagrama de flujo correspondiente al algoritmo elaborado para la
simulación numérica del movimiento del oscilador.
2. Abrir el editor PLATO IDE haciendo doble click en el ícono “PLATO IDE”
3. En el menú ‘File’ hacer click en ‘New’, aparecerá la ventana ‘New File’
4. Seleccionar ‘Free format Fortran file’
5. En el menú ‘File’ hacer click en ‘Save As’, dar nombre al archivo y guardar (el
archivo se guardará automáticamente con la extensión f95)
6. Iniciar la programación del algoritmo en Fortran 95
7. Una vez finalizada la edición del Programa (conformado por el programa
principal, subprogramas, funciones, entre otros), realizar la compilación del
programa en el mismo PLATO IDE
8. En el menú ‘Build’ seleccionar ‘Compile’. Constate si no hay errores de
programación en el resultado de la compilación que emergerá en una ventana en
la parte inferior del PLATO IDE
9. Si hubiera errores, revisar la programación y corregir. Volver a compilar

MSc. Ely Miguel Mecánica Clásica


10. Si no hay errores de compilación entrar nuevamente en el menú ‘Build’ y
seleccionar ‘Build’. De este modo se generará un archivo ejecutable (*.exe)
11. Ejecutar este archivo ingresando nuevamente al menú ‘Build’ y seleccionar ‘Start
Run’. El programa se ejecutará (‘correrá’) y mostrará los resultados esperados en
pantalla, en un archivo de datos o a través de gráficas.

V. CUESTIONARIO
1. Demostrar que la lagrangiana de un oscilador armónico amortiguado es dada por
1 1
𝐿 = 𝑒 𝛽𝑡/𝑚 ( 𝑚𝑥̇ 2 − 𝑘𝑥 2 )
2 2
2. Derivar la ecuación de movimiento (1) usando las ecuaciones canónicas de
Hamilton.
3. Escribir el código fuente del programa principal necesario para enlazar y
controlar el conjunto de subprogramas y funciones externas, definidos y
elaborados con la finalidad de facilitar la programación del algoritmo
confeccionado para la simulación numérica del sistema en estudio. ¿Puede
funcionar el programa conteniendo todo el algotritmo en un solo bloque, es
decir, sin subprogramas y funciones externas?
4. Explicar como trabaja el algoritmo del método de Runge-Kutta de 4°orden.
5. Escribir el código fuente de la función externa que define las variables y las
ecuaciones de primer orden para ser resueltas por el método de Runge-Kutta de
4° orden.

VI. REFERENCIAS BIBLIOGRAFICAS


[1] Menéndez A., Introducción a la simulación numérica de problemas hidráulicos,
Informe LHA - 064-003-87, Ezeiza, Septiembre de 1987
[2] Goldstein, H; Poole, C. and Safko, J.: Classical mechanics, Addison Wesley, 3rd
Edition, New york, 2001.
[3] Chapra, S and R. Canale, Numerical methods for engineers, 6th edition, McGraw-
Hill, 2014.
[4] Padman, R., Self-study guide 2 – Programming in Fortran 95 (Computational
Physics), Department of Physics , University of Cambridge, Michaelmas 2007.
[5] http://www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.aspx
[6] https://gcc.gnu.org/fortran/

MSc. Ely Miguel Mecánica Clásica

También podría gustarte