{ "cells": [ { "cell_type": "markdown", "id": "e50c61c3", "metadata": {}, "source": [ "# The Planar Pendulum" ] }, { "cell_type": "markdown", "id": "d67cb48d", "metadata": {}, "source": [ "The purpose of this notebook is to explore the application of ``DifferentialEquations.jl`` to models of the planar pendulum." ] }, { "cell_type": "code", "execution_count": 1, "id": "48392750", "metadata": {}, "outputs": [], "source": [ "using Plots" ] }, { "cell_type": "code", "execution_count": 2, "id": "d4333250", "metadata": {}, "outputs": [], "source": [ "using DifferentialEquations" ] }, { "cell_type": "markdown", "id": "1b30f3c7", "metadata": {}, "source": [ "The second order ODE \n", "$$\n", " \\theta''(t) + \\alpha \\sin(\\theta(t)) = 0\n", "$$\n", "\n", "is solved as a system of two coupled first order ODEs:\n", "\n", "$$\n", " \\theta'(t) = v(t)\n", "$$\n", "\n", "$$\n", " v'(t) = -\\alpha \\sin(\\theta(t))\n", "$$\n", "\n", "with initial conditions $\\theta(0) = \\theta_0$, $v(0) = v_0$.\n", "\n", "The parameter $\\alpha$ equals $g/L$, where\n", "\n", "* $g$ is the gravitational constant, and\n", "* $L$ is the length of the pendulum." ] }, { "cell_type": "markdown", "id": "535bb404", "metadata": {}, "source": [ "## 1. defining the right hand side function" ] }, { "cell_type": "code", "execution_count": 3, "id": "2a00922c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "pendrhs!" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", " function pendrhs!(du, u, p, t)\n", "\n", "defines the right hand side of the system\n", "of first order differential equations of\n", "a model of a planar pendulum.\n", "The function updates the two components of du,\n", "which respectively define the velocity and the acceleration,\n", "while u[1] contains the value for the angle\n", "and u[2] the value of the velocity.\n", "The p is the array with the parameters\n", "and t is the independent time variable.\n", "\"\"\"\n", "function pendrhs!(du, u, p, t)\n", " angle, velocity = u\n", " alpha = p\n", " du[1] = velocity # instead of u[2]\n", " du[2] = -alpha*sin(angle) # angle is u[1]\n", "end" ] }, { "cell_type": "markdown", "id": "029a6d3d", "metadata": {}, "source": [ "Next we define the initial conditions, in a 2-dimensional array, containing the initial angle and the initial velocity." ] }, { "cell_type": "code", "execution_count": 4, "id": "7c8a5990", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.5235987755982988" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0 = pi/6 # initial angle" ] }, { "cell_type": "code", "execution_count": 5, "id": "07df67e6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v0 = 0 # initial velocity" ] }, { "cell_type": "code", "execution_count": 6, "id": "75d004d8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2-element Vector{Float64}:\n", " 0.5235987755982988\n", " 0.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "initconds = [theta0, v0]" ] }, { "cell_type": "markdown", "id": "d94a25b6", "metadata": {}, "source": [ "Then we have to define the time span, say from 0 to 10." ] }, { "cell_type": "code", "execution_count": 7, "id": "bbc6e69b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 10.0)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "timespan = (0.0,10.0)" ] }, { "cell_type": "markdown", "id": "113e3081", "metadata": {}, "source": [ "For the parameter $\\alpha$ we take the value equal to one." ] }, { "cell_type": "code", "execution_count": 8, "id": "cc16dbb2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alpha = 1.0" ] }, { "cell_type": "code", "execution_count": 9, "id": "39c7fa3a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\u001b[38;2;86;182;194mODEProblem\u001b[0m with uType \u001b[38;2;86;182;194mVector{Float64}\u001b[0m and tType \u001b[38;2;86;182;194mFloat64\u001b[0m. In-place: \u001b[38;2;86;182;194mtrue\u001b[0m\n", "Non-trivial mass matrix: \u001b[38;2;86;182;194mfalse\u001b[0m\n", "timespan: (0.0, 10.0)\n", "u0: 2-element Vector{Float64}:\n", " 0.5235987755982988\n", " 0.0" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ode = ODEProblem(pendrhs!, initconds, timespan, alpha)" ] }, { "cell_type": "markdown", "id": "40c88c14", "metadata": {}, "source": [ "## 2. solving and plotting the solution" ] }, { "cell_type": "code", "execution_count": 10, "id": "021acf01", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "retcode: Success\n", "Interpolation: 3rd order Hermite\n", "t: 21-element Vector{Float64}:\n", " 0.0\n", " 0.0019961875625849126\n", " 0.02195806318843404\n", " 0.1184960439904155\n", " 0.3126130215579742\n", " 0.5861110333910544\n", " 0.9374237545235629\n", " 1.3728866886081446\n", " 1.8504024235499985\n", " 2.319596079644335\n", " 2.9284343109627367\n", " 3.571367701078837\n", " 4.185654286923549\n", " 4.938497147162857\n", " 5.6335401765610325\n", " 6.403054857703006\n", " 7.178994232141367\n", " 7.971364812133155\n", " 8.794123004832556\n", " 9.595349022947545\n", " 10.0\n", "u: 21-element Vector{Vector{Float64}}:\n", " [0.5235987755982988, 0.0]\n", " [0.523597779407389, -0.0009980932072375648]\n", " [0.5234782406579094, -0.010978267527158416]\n", " [0.5200920046456866, -0.05912794490220657]\n", " [0.49933935501726784, -0.1541018903952801]\n", " [0.43984530123710447, -0.27853954029656064]\n", " [0.31779570608764257, -0.4096366382545417]\n", " [0.11561729178611337, -0.5045757202926133]\n", " [-0.1292016993772076, -0.5012777488487357]\n", " [-0.34208628408690794, -0.38995230695701033]\n", " [-0.505755513017173, -0.1325316041869893]\n", " [-0.4887781581165595, 0.18374303895765276]\n", " [-0.2960919853215654, 0.42534123476247415]\n", " [0.07435214725853027, 0.5122783283226693]\n", " [0.3855789351355746, 0.3480141941296033]\n", " [0.5235668100070674, -0.005308589239108192]\n", " [0.3758160352543676, -0.35828110669535734]\n", " [0.009907981484281025, -0.5175512714312506]\n", " [-0.3729841231667297, -0.36116761870459657]\n", " [-0.5235822520453075, 0.003414297765886445]\n", " [-0.48178246732208324, 0.20071149647604924]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol = solve(ode)" ] }, { "cell_type": "code", "execution_count": 11, "id": "a98db8d1", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(sol, xaxis=\"t\", label=[\"theta\" \"velocity\"], layout=(2,1))" ] }, { "cell_type": "code", "execution_count": 12, "id": "541bfd7f", "metadata": {}, "outputs": [], "source": [ "# savefig(\"figodependulum.png\")" ] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.12", "language": "julia", "name": "julia-1.12" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.12.4" } }, "nbformat": 4, "nbformat_minor": 5 }