{ "cells": [ { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Custom directory name\n", "\n", "When we drive a system, a directory with the same name as the system is created at the same level as the notebook and all simulation files are saved in it. Sometimes we want to change the path of that directory in order to keep our files organised. We can do that by passing `dirname` argument to the `drive` method.\n", "\n", "As a simple example, let us simulate a one-dimensional array of spins." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import discretisedfield as df\n", "import micromagneticmodel as mm\n", "\n", "import oommfc as mc\n", "\n", "region = df.Region(p1=(-30e-9, 0, 0), p2=(30e-9, 3e-9, 3e-9))\n", "cell = (3e-9, 3e-9, 3e-9)\n", "mesh = df.Mesh(region=region, cell=cell)\n", "\n", "system = mm.System(name=\"my_simulation\")\n", "system.energy = mm.Zeeman(H=(0, 0, 1e6))\n", "system.m = df.Field(mesh, nvdim=3, value=(1, 0, 0), norm=1e6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we can pass `dirname` to the `drive` method to instruct Ubermag where to place `my_simulation` directory. Let us say we want to place it in `my_project`:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running OOMMF (ExeOOMMFRunner)[2023/10/18 12:34]... (0.3 s)\n" ] } ], "source": [ "md = mc.MinDriver()\n", "md.drive(system, dirname=\"./my_project\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we inspect the files, we can see that our simulation results are saved in `my_project/my_simulation/drive-0`:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "\n", "dirname = os.path.join(\"my_project\", \"my_simulation\", \"drive-0\")\n", "os.path.isdir(dirname)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All properties of the system can be accessed as usual - changing the directory happens in the background:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDsAAADaCAYAAACo5EkWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABShklEQVR4nO3dd3xT9f4/8Fe6F7RljzJLgYIMpVCBCsgoS4RWUGQqIHtc0YsMRVEUBASliIhyWcqSS+XqjyVyAYGvVBwITRejlFIoHXRA0mad3x8lvR1JmqQns6/n45GHNjmfc95tPpzPJ+98hkQQBAFERERERERERE7CxdYBEBERERERERGJickOIiIiIiIiInIqTHYQERERERERkVNhsoOIiIiIiIiInAqTHURERERERETkVJjsICIiIiIiIiKnwmQHERERERERETkVJjuIiIiIiIiIyKkw2UFEREREREREToXJDiIiIiIiIiI7lpiYiOnTp6Nbt27o0qULJkyYgLi4OKPLDhkyBO3atcP169dFP7+9YrKDiIiIiIiIyE6lpaVh/PjxePDgAdatW4ctW7bAz88PU6ZMweXLlw2W/fbbbzFmzBg8fPjQIue3ZxJBEARbB0FERERERERElS1evBjHjh3DqVOnUKdOHQCAQqFAZGQkWrZsiR07dugsFxcXh2nTpmH58uW4e/cuNm3ahCNHjiA4OFiU89s7juwgIiIiIiIiskOCIODkyZPo1atXaSICADw8PBAZGYmLFy+ioKBAZ9mAgADs27cPo0ePtsj57R2THURERERERER2KCMjA4WFhQgJCan0WkhICDQaDZKTk3WWbdu2LTp06GCx89s7JjuIiIiIiIiI7FBOTg4AIDAwsNJr2ue0x9jj+W3JzdYBEBEREREREYlJda+NrUMwmluja3pfUygUAEqmlVTk7u4OACgqKjL72pY+vy0x2UFERERERERORS1obB2C0Qx9KPf09AQAKJXKSq9pExXe3t5mX9vS57clJjuIiIiIiIjIqWjgHJuO1q9fHwCQm5tb6bXs7Oxyx9jj+W2JyQ4iIiIiIiJyKkpBbesQjGZo3ESjRo0QGBiIpKSkSq8lJSXB3d0dbdu2Nfvalj6/LXGBUiIiIiIiInIqGggO86jK4MGDceHCBWRlZZU+J5PJcOLECfTp0we+vr7V+ltZ+vy2wmQHERERERERORUlNA7zqMrs2bPh7e2NmTNn4vTp0zh//jxmz54NuVyOhQsXAgDi4uLQoUMH7N+/v7Rceno6rly5gitXruD+/fsAgGvXrpU+p12Tw5jzOyJOYyEiIiIiIiKnohacY80OAGjYsCH27NmDtWvXYuHChRAEAV27dsWuXbvQpk3JrjOCIECtVkOj+V/yZNOmTYiNjS13rvnz55f+/88//4ygoCCjzu+IJILgRLWAiIiIiIiIarzbdxrbOgSjNWt619YhOCWO7CAiIiIiIiKnouZX+jUekx1ERERERETkVKpeCYOcHZMdRERERERE5FSUgsTWIZCNMdlBRERERERETkUNJjtqOiY7iIiIiIiIyKkoBRdbh0A2xmQHERERERERORWO7CAmO4iIiIiIiMipqMGRHTUdkx1ERERERETkVDiNhZjsICIiIiIiIqeiZrKjxmOyg4iIiIiIiJyKEq62DoFsjMkOIiIiIiIicioc2UFMdhAREREREZFT0XA3lhqPyQ4iIiIiIiJyKgqBH3VrOtYAIiIiIiIicioabj1b4zHZQURERERERE5FIXCB0pqOyQ4iIiIiIiJyKhouUFrjMdlBRERERERETkXNaSw1HpMdRERERERE5FSUnMZS4zHZQURERERERE5FzWksNR6THURERERERORUOLKDmOwgIiIiIiIip8I1O4jJDiIiIiIiInIqGkFi6xDIxpjsICIiIiIiIqeiFPhRt6ZjDSAiIiIiIiKnogZHdtR0THYQERERERGRU+ECpfbt+++/R3h4OBo3bqz3mF9++QXJycmYOnWqWdfgqi1ERERERETkVDSCi8M8aqIlS5bgypUrBo+5fv06tmzZYvY1OLKDiIiIiIiInApHdtifxMREJCYmAgAEQUBcXBxkMpnOY4uKivDdd99BpVKZfT0mO4iIiIiIiMipqGvoiAl79ssvv+CTTz6BRCKBRCLBt99+a/B4QRAwZMgQs6/HZAcRERERERE5FW49a39ee+01REVF4a+//sLcuXMxZMgQtGnTRuexrq6uaNasGQYPHmz29ZjsICIiIiIiIqfCaSz2qV69ehg4cCC6d++OCRMmICwszGLXYrKDiIiIiIiInIqGe3HYtd27d1v8Gkx2EBERERERkVNRapwr2ZGYmIj169fj999/h0qlQqdOnTB//nz06NGj2uUWL16M2NhY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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "system.m.sel(\"y\").mpl(figsize=(12, 3))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [ "nbval-ignore-output" ] }, "outputs": [ { "data": { "text/html": [ "
\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", "
max_mxHxmEdelta_Ebracket_countline_min_countconjugate_cycle_countcycle_countcycle_sub_countenergy_calc_countE_zeemaniterationstage_iterationstagemxmymz
02.733391e-11-6.785840e-19-1.350143e-2113.00.09.09.00.014.0-6.785840e-1913.013.00.02.733391e-170.01.0
\n", "
" ], "text/plain": [ " max_mxHxm E delta_E bracket_count line_min_count \\\n", "0 2.733391e-11 -6.785840e-19 -1.350143e-21 13.0 0.0 \n", "\n", " conjugate_cycle_count cycle_count cycle_sub_count energy_calc_count \\\n", "0 9.0 9.0 0.0 14.0 \n", "\n", " E_zeeman iteration stage_iteration stage mx my mz \n", "0 -6.785840e-19 13.0 13.0 0.0 2.733391e-17 0.0 1.0 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "system.table.data" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.12" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }