{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Forces\n", "\n", "Here we illustrate how to define and work with forces, using the ``atomsmltr.environment.fields.forces`` subpackage.\n", "\n", "**Note:** since ``MagneticField`` and ``Force`` objects both derive from the ``Field`` parent class, all the methods shown in the magnetic field usage tutorial to plot and manipulate magnetic field will also work with forces " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Include a constant force (gravity)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initialize the force" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "──────────────────\n", "| Constant force |\n", "──────────────────\n", ". Parameters :\n", " ├── type : constant field\n", " ├── tag : gravity\n", " ├── field_value (N) : [ 0.00000000e+00 0.00000000e+00 -2.86234658e-24]\n", " └── norm (N) : 2.86e-24\n", "\n", "\n" ] } ], "source": [ "from atomsmltr.environment import ConstantForce\n", "from atomsmltr.atoms import Ytterbium\n", "\n", "# let's add gravity, pointing along -z\n", "m = Ytterbium().mass # kg\n", "g = 9.91 # m/s^2\n", "grav_force = (0, 0, - m * g)\n", "gravity = ConstantForce(field_value=grav_force, tag=\"gravity\")\n", "\n", "# print infos\n", "gravity.print_info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Check in a simulation" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# -- imports\n", "# atomsmltr\n", "from atomsmltr.environment import ConstantForce\n", "from atomsmltr.atoms import Ytterbium\n", "from atomsmltr.simulation import Configuration, RK4\n", "\n", "# other\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# -- config\n", "# init\n", "config = Configuration(atom=Ytterbium())\n", "# add force\n", "m = Ytterbium().mass # kg\n", "g = 9.91 # m/s^2\n", "grav_force = (0, 0, -m * g)\n", "gravity = ConstantForce(field_value=grav_force, tag=\"gravity\")\n", "config += gravity\n", "\n", "# -- simulate\n", "t = np.linspace(0, 1, 1000)\n", "u0 = np.zeros((6,))\n", "res = RK4(config).integrate(u0, t)\n", "z = res.y[2, :]\n", "\n", "# -- plot\n", "plt.figure(figsize=(4, 3), tight_layout=True)\n", "plt.plot(t, z)\n", "plt.plot(t, -0.5 * g * t**2, \":\")\n", "plt.grid()\n", "plt.xlabel(\"t (s)\")\n", "plt.ylabel(\"z (m)\")\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "atomsmltr-KmviZRuT-py3.12", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 2 }