{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Exporting data\n", "\n", "There are fundamentally two different data types:\n", "\n", "- spatially averaged data (as in the `odt` [OOMMF Data Table] file)\n", "- spatially resolved data (as in the `omf`, `omv` files)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Access the raw OOMMF output files\n", "\n", "When Jupyter OOMMF needs a micromagnetic calculation to be carried out, it is writing a `mif` file, and then asks OOMMF to execute that miffile, and export data to the file system.\n", "\n", "It it thus possible to read the output files from the disk as one would normally with OOMMF. This allows re-use of all existing tools to analyse OOMMF data (including muview, ovf2vtk, ...)\n", "\n", "Example" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2018/6/26 12:2: Calling OOMMF (example-macrospin/example-macrospin.mif) ... [0.7s]\n" ] } ], "source": [ "import oommfc as oc\n", "system = oc.examples.macrospin()\n", "td = oc.TimeDriver()\n", "td.drive(system, t=0.1e-9, n=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the last output line, we can see that the OOMMF data is stored in the directory `example-macrospin`. We can display the content:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "example-macrospin.mif\r\n", "example-macrospin.odt\r\n", "example-macrospin-Oxs_TimeDriver-Magnetization-00-0000036.omf\r\n", "example-macrospin-Oxs_TimeDriver-Magnetization-01-0000066.omf\r\n", "example-macrospin-Oxs_TimeDriver-Magnetization-02-0000092.omf\r\n", "example-macrospin-Oxs_TimeDriver-Magnetization-03-0000113.omf\r\n", "example-macrospin-Oxs_TimeDriver-Magnetization-04-0000130.omf\r\n", "m0.omf\r\n" ] } ], "source": [ "!ls example-macrospin/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exporting the OOMMF Data Table\n", "The file `example-macrospin.odt` is automatically read and available as a pandas data table in the `system.dt` object. We can thus use all the export functionality that pandas supports. For example" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "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", " \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", "
EEcountmax_dm/dtdE/dtdeltaEE_Zeemaniterationstage_iterationstagemxmymzlast_time_stept
0-5.033171e-18217.037867.797392-1.241326e-07-4.522273e-20-5.033171e-1836.036.00.0-0.597360-0.0383830.8010543.586075e-132.000000e-11
1-6.131373e-18392.013822.238704-1.653875e-08-6.256125e-21-6.131373e-1866.029.01.00.2167130.0278380.9758383.708125e-134.000000e-11
2-6.266081e-18543.04664.609034-1.883547e-09-1.210170e-21-6.266081e-1892.025.02.0-0.072403-0.0139530.9972786.216520e-136.000000e-11
3-6.281233e-18664.01577.051840-2.152969e-10-2.059347e-22-6.281233e-18113.020.03.00.0241630.0061310.9996899.181643e-138.000000e-11
4-6.282947e-18761.0550.439309-2.622797e-11-3.440007e-23-6.282947e-18130.016.04.0-0.008347-0.0024580.9999621.290222e-121.000000e-10
\n", "
" ], "text/plain": [ " E Ecount max_dm/dt dE/dt deltaE \\\n", "0 -5.033171e-18 217.0 37867.797392 -1.241326e-07 -4.522273e-20 \n", "1 -6.131373e-18 392.0 13822.238704 -1.653875e-08 -6.256125e-21 \n", "2 -6.266081e-18 543.0 4664.609034 -1.883547e-09 -1.210170e-21 \n", "3 -6.281233e-18 664.0 1577.051840 -2.152969e-10 -2.059347e-22 \n", "4 -6.282947e-18 761.0 550.439309 -2.622797e-11 -3.440007e-23 \n", "\n", " E_Zeeman iteration stage_iteration stage mx my \\\n", "0 -5.033171e-18 36.0 36.0 0.0 -0.597360 -0.038383 \n", "1 -6.131373e-18 66.0 29.0 1.0 0.216713 0.027838 \n", "2 -6.266081e-18 92.0 25.0 2.0 -0.072403 -0.013953 \n", "3 -6.281233e-18 113.0 20.0 3.0 0.024163 0.006131 \n", "4 -6.282947e-18 130.0 16.0 4.0 -0.008347 -0.002458 \n", "\n", " mz last_time_step t \n", "0 0.801054 3.586075e-13 2.000000e-11 \n", "1 0.975838 3.708125e-13 4.000000e-11 \n", "2 0.997278 6.216520e-13 6.000000e-11 \n", "3 0.999689 9.181643e-13 8.000000e-11 \n", "4 0.999962 1.290222e-12 1.000000e-10 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# display beginning of data table in notebook\n", "system.dt.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### MS Excel, html, latex, json" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "system.dt.to_excel(\"data-odt.xlsx\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "system.dt.to_html(\"data-odt.html\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "system.dt.to_latex(\"data-odt.tex\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "system.dt.to_json(\"data-odt.json\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Numpy arrays" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a pandas table, we can extract each column as a (Pandas) Series:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 2.000000e-11\n", "1 4.000000e-11\n", "2 6.000000e-11\n", "3 8.000000e-11\n", "4 1.000000e-10\n", "Name: t, dtype: float64" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_series = system.dt['t']\n", "t_series" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or convert this into a numpy array:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "t_array = np.array(system.dt['t'])\n", "mx_array = np.array(system.dt['mx'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "for example to plot the data in some custom way:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "fig, axes = plt.subplots()\n", "axes.plot(t_array, mx_array)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To see which data columns are available in the table, we can use:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['E', 'Ecount', 'max_dm/dt', 'dE/dt', 'deltaE', 'E_Zeeman', 'iteration',\n", " 'stage_iteration', 'stage', 'mx', 'my', 'mz', 'last_time_step', 't'],\n", " dtype='object')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "system.dt.columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['E',\n", " 'Ecount',\n", " 'max_dm/dt',\n", " 'dE/dt',\n", " 'deltaE',\n", " 'E_Zeeman',\n", " 'iteration',\n", " 'stage_iteration',\n", " 'stage',\n", " 'mx',\n", " 'my',\n", " 'mz',\n", " 'last_time_step',\n", " 't']" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(system.dt.columns)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }