{ "cells": [ { "cell_type": "markdown", "id": "36ccd9a2-835c-4d42-9ea9-5db1d559c882", "metadata": {}, "source": [ "# Load and Save File" ] }, { "cell_type": "code", "execution_count": 1, "id": "d200bdf7-9ef7-423e-82b2-0e405f9cbe1f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'1.0.5a2'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import mdapy as mp\n", "import numpy as np\n", "from time import time\n", "mp.__version__" ] }, { "cell_type": "code", "execution_count": 2, "id": "b3d6240b-a917-4cec-aa40-6c7f9b74579f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3, 14, 1)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import ovito\n", "ovito.version" ] }, { "cell_type": "code", "execution_count": 3, "id": "abc2c16a-9a9a-4b71-8172-98b533112dc9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Atom number is 4000000.\n", "Saving to test.data.\n", "Saving to test.dump\n", "Saving to test.xyz\n", "Saving to test.mp\n" ] } ], "source": [ "def init():\n", " system = mp.build_crystal('Cu', 'FCC', 3.615, nx=100, ny=100, nz=100)\n", " system.set_type_by_element({'Cu':1})\n", " N = system.N\n", " print(f'Atom number is {N}.')\n", " print('Saving to test.data.')\n", " system.write_data('test.data', element_list=['Cu'])\n", " print('Saving to test.dump')\n", " system.write_dump('test.dump')\n", " print('Saving to test.xyz')\n", " system.write_xyz('test.xyz')\n", " print('Saving to test.mp')\n", " system.write_mp('test.mp')\n", "init()" ] }, { "cell_type": "code", "execution_count": 4, "id": "23455935-e385-4238-b6a8-66d632314aec", "metadata": {}, "outputs": [], "source": [ "def get_load_time(fmt:str):\n", " start = time()\n", " for _ in range(3):\n", " _ = mp.System(f'test.{fmt}')\n", " end = time()\n", " mdapy_time = (end - start)/3\n", " if fmt == 'mp':\n", " ovito_time = -1\n", " else:\n", " start = time()\n", " for _ in range(3):\n", " pipeline = ovito.io.import_file(f'test.{fmt}')\n", " pipeline.compute()\n", " del pipeline \n", " end = time()\n", " ovito_time = (end - start)/3\n", " return mdapy_time, ovito_time" ] }, { "cell_type": "code", "execution_count": 5, "id": "c5d8d528-d6cf-4c09-8236-ed38b98350d4", "metadata": {}, "outputs": [], "source": [ "def get_save_time(fmt:str):\n", " system = mp.System(f'test.{fmt}')\n", " start = time()\n", " for _ in range(1):\n", " if fmt == 'dump':\n", " system.write_dump(f'mdapy.{fmt}')\n", " elif fmt == 'data':\n", " system.write_data(f'mdapy.{fmt}')\n", " elif fmt == 'xyz':\n", " system.write_xyz(f'mdapy.{fmt}')\n", " elif fmt == 'mp':\n", " system.write_mp(f'mdapy.{fmt}')\n", " end = time()\n", " mdapy_time = (end - start)/3\n", " if fmt == 'mp':\n", " ovito_time = -1\n", " else:\n", " pipeline = ovito.io.import_file(f'test.{fmt}')\n", " start = time()\n", " for _ in range(1):\n", " if fmt == 'dump':\n", " ovito.io.export_file(pipeline, f'ovito.{fmt}', format='lammps/dump', columns=[\"Particle Identifier\", \"Particle Type\", \"Position.X\", \"Position.Y\", \"Position.Z\"])\n", " elif fmt == 'data':\n", " ovito.io.export_file(pipeline, f'ovito.{fmt}', format='lammps/data', atom_style='atomic')\n", " elif fmt == 'xyz':\n", " ovito.io.export_file(pipeline, f'ovito.{fmt}', format='xyz', columns=[\"Particle Identifier\", \"Particle Type\", \"Position.X\", \"Position.Y\", \"Position.Z\"])\n", " end = time()\n", " ovito_time = (end - start)/3\n", " return mdapy_time, ovito_time" ] }, { "cell_type": "code", "execution_count": 6, "id": "ad48bef7-0257-4860-8df3-7dca81f009d6", "metadata": {}, "outputs": [], "source": [ "load_time = []\n", "for fmt in ['dump', 'data', 'xyz', 'mp']:\n", " load_time.append([*get_load_time(fmt)])\n", "load_time = np.array(load_time)" ] }, { "cell_type": "code", "execution_count": 7, "id": "429ff710-d3ee-4bf7-b88c-79fe2514ef97", "metadata": {}, "outputs": [], "source": [ "save_time = []\n", "for fmt in ['dump', 'data', 'xyz', 'mp']:\n", " save_time.append([*get_save_time(fmt)])\n", "save_time = np.array(save_time)" ] }, { "cell_type": "code", "execution_count": 8, "id": "254f0ead-5d92-4c44-9a86-d0a7809d314d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Load data')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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GgAAgCncERIAkE/68+NLu4R8vOfFlXYJVp999pmioqL07bff6r777ivtckoMexoAACgkd3d3eXl5yc3NrbRLKVGEBgAACqlTp05KSkrSPffcY9M+bdq0UqqoZBAaAACwg4yMDL377rulXYZDERoAACim7OxsPfXUU/rtt99KuxSHIjQAAMqV9evX6+GHH1ZISIgaNGigcePGKTMzU0uWLJGbm5ssFosqV66sxYsXS5KOHTumoKAgVahQQVOnTtWJEyf0t7/9TXXq1FFSUpKk64clfv75Z0lSeHi4Hn74Yet4hw8fVp8+fdS+fXsFBgaqT58+OnbsWImvtz1w9QQAoNz46quvNGzYMP3nP/9RjRo19NNPPyksLEz79u3Tl19+qdq1a6t9+/Z6+umnNXDgQElS3bp19e6772rdunV65ZVXtHv3bh04cEDJycnW5U6aNEm5ubmKiYnRpk2brO3Jycl68MEH9fHHHyssLExnz55V+/btFRISop9++kne3t4l/RYUC3saAADlQm5uroYNG6ZBgwapRo0akqRmzZpp6NChWrVqldasWaN27dopNDRUGzZssOm7cuVKjRo1SpLUvHlzhYeHmxpzwoQJatKkicLCwiRJ1apVU1xcnI4fP64ZM2bYb+VKCKEBAFAubNu2TUePHlXDhg1t2nv37i1JWr16tSTpxRdf1L59+7Rx40ZJ109wzMzMlL+/v7XPHXfcccvxcnJytGLFinzjderUSZ6entbxnAmhAQBQLhw9elSSdOnSJZv2wMBASVJKSookqWfPnvL399fbb78tSVq8eLEGDRpU6PHS0tJ0+fLlfOPljZk3njMhNAAAyoW8PQWHDh2yaffw8JAkNWjQQJLk6uqqIUOG6IsvvtDRo0e1ZcsW04cjfs/X11dubm75xssbM288Z0JoAACUC/fdd59q1aqljz/+WIZhWNuPHDkiSerTp4+17bnnnpOLi4v69++vdu3amVq+xWKx+dnFxUWdO3fW9u3blZiYaDMtMTFRTzzxRFFXpdQQGgAA5ULFihUVFxenxMRExcVdf45Fbm6uZsyYoeeee05/+ctfrPP6+fmpd+/e+umnnzRgwIB8yzpx4oQk2RxiqFatmrXtp59+0uXLlxUbG6vKlStrxIgRysrKkiQtWrRI1atX19ChQx22ro7CJZcAgHxup4dD2dNTTz0lV1dX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c6fefvttZWVlacmSJcUpAwAAlIBin0Tw0EMP6ZNPPtEzzzyj4cOHq0WLFmrSpImCgoJUtWpVVapUSVevXtXFixeVnJysw4cPa+fOnbp06ZKmTp160/McAADA7cMuZx4GBQVp06ZN+vLLLzV79mx9+OGHysnJkSTrEzDz7tbo7++vqKgojRkzxnoTKAAAcPuz6+UK3bp1U7du3ZSenq7t27fr119/1blz51S5cmX5+fmpWbNmatKkiT2HBAAAJcQh1zh6e3urY8eO6tixoyMWDwAASoHdbyMNAADKJkIDAAAwhdAAAABMITQAAABTCA0AAMAUh4SG3377TRMmTNDTTz9tbXv77bf1+eefO2I4AABQAux+yeWePXsUHh6u9PR01atXz9o+fPhwjRo1Su+//76WLVumSpUq2Xtop9Zh/MelXUKRrIt7vLRLAACUELvvaRg1apQCAwM1Z84c+fr62kybPn26NmzYoOjoaHsPCwAAHMzuoWHfvn3atGmTXnzxRVWpUsVmWsWKFVW9enUtX77c3sMCAAAHs3toaNasmTw9PQucdvz4cR0/flzXrl2z97AAAMDB7B4a6tatq2PHjuVrz8zMVFRUlAzDUPv27e09LAAAcDC7nwg5efJkPfbYY+rfv7/S09O1Zs0a7d69W/Pnz1diYqJ8fX31xhtv2HtYAADgYHbf01C7dm199tln2rVrl44eParOnTtr4sSJOnXqlHr37q1t27YpKCjI3sMCAAAHc8hTLv38/DR//nzNnz9fqampysnJUfXq1eXi4iJJys7OlqurQ4YGAAAO4vA7QlavXl01a9a0BgZJuu+++xw9LAAAsDOH/Ln/5ZdfatOmTTp37pxyc3Ot7YZh6OjRo9qzZ48jhgUAAA5k99Awfvx4zZw586bzWCwWew8LAAAczO6h4Z///KfeeustdejQQZUrV843/ciRI3r00UftPSwAAHAwu4eG+++/Xy+99NINpwcGBuq1116z97AAAMDB7H4i5P3336/MzMybzuPj42PvYQEAgIPZPTSMHj1as2bNuuH0Y8eOacKECfYeFgAAOJjdQ8PPP/+sefPmycXFpcBX/fr1dfr0aXsPCwAAHMzu5zQMGzZMV65c0SOPPFLgg6sOHz6srVu32ntYAADgYHYPDWfOnNG+fftUvXr1G85z991323tYAADgYHY/PNGtW7eb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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = mp.set_figure(figdpi=150)\n", "x = np.arange(4)*2\n", "ax.bar(x, load_time[:, 0], label = 'mdapy')\n", "ax.bar(x[:-1]+1, load_time[:-1, 1], label='ovito')\n", "\n", "ax.legend()\n", "ax.set_xticks(x+0.5)\n", "ax.set_xticklabels(['dump', 'data', 'xyz', 'mp'])\n", "ax.set_ylabel('Time (s)')\n", "ax.set_title('Load data')" ] }, { "cell_type": "code", "execution_count": 12, "id": "2220f078-08f1-45d9-b8d1-b65fe4813cbb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Save data')" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg0AAAG1CAYAAAB6accRAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAANL5JREFUeJzt3Xl4jPf+//HXSIiEREIEEWI5jqWppbW2lthTe2lRLaKLnVKxdiHn0OJU0WrP8eXYjqpuaKstVaTSnraWWi+0loSmtlCxxpLk8/ujP3M6TXAzM5lm8nxc11wXn/u+P5/3PTf3vOZe5rYZY4wAAABuo4CnCwAAAHkDoQEAAFhCaAAAAJYQGgAAgCWEBgAAYAmhAQAAWEJoAAAAlhAaAACAJYQGAABgCaEBAABYQmgAAACWEBoAAIAlhAYAAGAJoQEAAFhCaADwp5aenq45c+aoQoUKSk5O9nQ5QL5GaADymQ0bNig6OlpNmzZVlSpVZLPZZLPZ9MILL3i6tBytW7dOH3zwgY4cOeLpUoB8j9AA5COfffaZunTpohkzZmjTpk06cOCAvvrqK5UuXdrTpd1Up06d1KNHj7ta9uWXX3ZxNUD+RmgA8pFp06apVatWuv/+++1tTZs21fz58z1Y1e0VLlz4jpfZvHmzvvzySzdUA+RfhAYgHzl16pR++OEHXbhwwaH9oYceUlBQkIequj2bzXZH8588eVI9evRQVlaWmyoC8idCA5CPtGzZUkeOHNGDDz6oHTt22NsLFCigMWPGOMz76quvqnHjxqpTp47uueceffTRR5Kk/fv3q3jx4rLZbCpQoIAGDx5sX6Z169ay2WyKiYmxt61atUodOnRQzZo19Ze//EXLly+/bZ179uxRmzZt9MADD+jBBx/Uf//732zz/Oc//1Hjxo3VsGFDVa5cWfPmzZMkXb16VSNHjtTZs2e1Y8cORUdHa/z48ZKk48ePq0ePHmrVqpUiIyPVoUMHnThxwvobCOR3BkC+cfbsWXPfffcZScbHx8cMGDDAnDhxItt8//nPf0xgYKA5d+6cMcaYLl26mMDAQHP9+nVjjDEnTpwwoaGhJioqymG5S5cumUaNGpnMzExjjDHvvvuu6datm7l27Zoxxpinn37a2Gw28/3339+0xgMHDpiQkBCzZMkSY4wxqamppkKFCkaSSUpKMsYYs2nTJmOz2ex/f/bZZ02BAgXML7/8Yu+nWbNmplmzZg59t2zZ0vTt29cYY8yxY8dM4cKFzcCBAy28cwCMMYYjDUA+EhwcrG+++UZjxoxRgQIFNHfuXP31r3/VnDlzZIyxz7d9+3ZVrFjRfsqiRYsWunDhgk6dOiVJKlWqlAYNGqT9+/fr2LFj9uVWrFihESNGqECBAjLGaPTo0Zo8ebIKFiwoSRoxYoSMMZoxY8ZNaxw5cqSqVq2q3r17S5JCQ0Ptf75hx44dCgwMVIUKFST9dgQlKyvrtrdkbt++XbVq1ZIklSlTRjVq1NChQ4csvHMAJE5PAPlO4cKFNW3aNO3atUsxMTE6f/68hg0bphEjRtjnGTNmjN577z1J0o8//qivv/5aknT9+nX7PAMHDpQkzZ071962atUqPfzww5KkAwcO6OjRoxowYICio6MVHR2tAQMGKDIyMts1FTf8+uuv+vTTT9WwYUOH9kqVKjn8PTY2Vl999ZUk6eeff9batWuz1ZeTdevWqX///srMzNTq1auVmpp622UA/A+hAcinqlWrps8//1zLli2Tn5+fXn/9de3du1fSb0cSzpw5o0cffVQffPCB6tatK0kORyPCw8PVtWtXzZ07V9euXdPOnTsVFRVlP6qQmpoqSXrnnXeUkJCghIQEff3110pOTtZnn32WY00//fSTjDEqUaLELWsPDAxUwYIF9fjjj+vNN99U/fr1s9WXk5o1a2r+/Pl69NFHdf36dUVGRt52GQD/Q2gA8pGpU6dma3vssccUFxcnSdq1a5ckaf78+erZs6dmzpyp559/XiVLlsyxv2HDhunkyZN6//33NX/+fPXv398+rVixYpJ+O/rwR7t3786xv0KFCkmSfvnll1uux+eff67o6GiNGzdOU6dOVfny5W85v/TbUYiYmBjt3LlTH3zwgR5++GH5+PjcdjkA/0NoAPKRhIQEHT9+PFt7ZGSkJKly5cqSpLFjx6pHjx6KiIi4ZX+NGzdW7dq19eqrr+rSpUsKDw+3T6tevbrCwsI0duxYLV++3P6N/quvvtLixYtz7O+ee+5RYGCg1q5dq4yMjGzTb9xC+cILLyg6Olr33nvvTWv7422aa9as0fr16zVq1CgVKMCuD7gb/M8B8pErV66oc+fO+umnn+xtJ06c0OzZs9W1a1fVq1dPkhQQEKAffvhBWVlZSk9P18aNGyX99hyIw4cPO/Q5dOhQ7dixQ3379nVo9/Hx0ZQpU3Tx4kU99thjCgoKUtmyZdWxY0cNGzYsx/r8/Pw0YcIEJSUlady4cZJ+O+Xw3XffSZKSkpJ07do1BQQEaPfu3bp69aoyMzPt1zT8vr7ixYvbA9K3336rgIAASdKWLVskSfv27VNSUpLS09N14cIFnT59+i7fVSD/IDQA+cyWLVtUtWpV1ahRQw0bNlSLFi3UtWtXvfPOO/Z53njjDe3du1fNmjXT3/72N7Vr104lSpTQ66+/nu2Qfq9evdS0aVM1a9Ys21hPP/20Fi1apCpVqujq1asKDw/X2rVr7Uc2cjJu3DhNnz5dy5YtU1RUlAYPHqzAwED95S9/0RdffKGkpCRNmzZN169fV8OGDRUXF6cmTZqoVKlSWrx4sS5fvixJiouL06VLl9SlSxcVKFBALVq0UGxsrEaOHKlevXopMTFRnTp10s8//6zly5crODjYNW8w4MVshquAAACABRxpAAAAlhAaAACAJYQGAABgCaEBAABYQmgAAACW5PnQcPDgQfn6+spms9lflStXtv8IDAAAcA1fTxfgrKlTp6pSpUoOv/AWFxfHL74BAOBieTo0pKSk6Mcff3T4dTsAAOAeefrr+KuvvqqYmBhdvXrV06UAAOD18uwvQp4+fVqRkZG6fPmyAgIC9Mgjj2jixImqVKmSp0sDAMAr5dnQsGnTJs2fP1+HDh3S5s2blZGRoYCAAC1btkydO3e+5bJXrlzRxo0b5e/vL19fxzM0QUFBCgoKcmfpAADkivPnz+v8+fMObRkZGUpPT1fz5s1VuHDhO+vQeIHjx4+b3r17G0nGz8/P7N69+5bzJyYmGkm8ePHixYtXvn0lJibe8edtnr4Q8obSpUtryZIlCg0N1cyZMzV9+nQtWbLklvNL0nvvvacyZco4TONIg6OUlBQ1adJEiYmJioiI8HQ5cDG2r3dj+3o3K9s3pyMNx48fV/fu3e2fhXfCK0LDDa+88oo+/PBDbdu27Zbz3TglUa9ePVWoUCEXKsv7IiIieK+8GNvXu7F9vdudbt/k5GRJynZ63oo8fffEH/n5+alt27by8/PzdCkAAHgdrwoN0m/BoXnz5p4uAwAAr+NVpyeuXbumzZs3a+XKlZ4uBQAAr5NnjzT069dPcXFxOnv2rCTp8uXLiouL09SpUxUeHu7h6rxHcHCwJk6cqODgYE+XAjdg+3o3tq9388T2zbO/0/DCCy9o3rx5yszMVOvWrVWtWjU9/fTTKlu27G2XTU5OVsWKFZWUlMTFQQCAfMWZz8A8e3pi8uTJmjx5sqfLAAAg38izpycAAEDuIjQAAABLCA0AAMASQgMAALCE0AAAACwhNAAAAEsIDQAAwBJCAwAAsITQAADAHdixY4d69uypp556ytOl5Lo8+4uQAAD3aT3ufU+XkM26qY96ugSdPHlSn3/+ud5991317dvX0+XkOo40AABgUalSpTR+/HiFhYV5uhSPIDQAAHCHChcu7OkSPILQAADAHbLZbJ4uwSMIDQAAr7dhwwb16dNHoaGh2r9/v2bOnKn27dsrJCREkyZN0tWrVzV58mS1bdtWYWFhWrRokX3ZzMxMTZkyRXXq1FGTJk00aNAgXb9+3aH/48ePq0ePHmrVqpUiIyPVoUMHnThxQpK0Z88eDRw4UGFhYfrhhx8UFxen2rVrq0qVKnr77bclSV999ZUKFy4sm80mPz8/vfrqq/a+mzRpIpvNptatW7v/jboNQgMAwOu1aNFCVatW1ZkzZ/Txxx9r4MCB+vTTT/Xkk08qPj5ekyZN0tChQ7V27VoNHjxYgwcP1rlz5yRJI0aM0IcffqiEhAQlJiaqcuXKOnbsmEP/vXv3lr+/v7788kt99913Wr9+veLj4yVJUVFRqlGjhlJTU7VixQpNmzZN27dvV+PGjfXEE09ozZo1atasmdasWSObzaaePXsqLi7O3veSJUt077336rPPPsu9N+wmCA0AgHyhdOnSkqTu3bvL399fkuzf3tu2bavg4GBJUqNGjZSenq79+/dr27ZtmjNnjl555RUVK1ZMkjR48GD5+fk59L19+3bVqlVLklSmTBnVqFFDhw4dsk8PCgqSJD311FPy8fGRzWbT5MmTVbBgQf3jH/+QJEVHR6tbt2768ssvde3aNfuyH3/8sYYMGaKCBQu6+i25Y4QGAEC+4OPjk60tpwsabwSCK1eu6D//+Y8kqWHDhvbpAQEB9gByw7p169S/f39lZmZq9erVSk1NzXYKQ3K8FqJs2bKqXLmytm7dam8bP368jh07psWLF9vb3nnnHfXq1cvqaroVoQEAgBwYY7R//375+vrajxTcTM2aNTV//nw9+uijun79uiIjI2WMue0YZcuW1ZUrV+x/v++++9S6dWtNmzZNmZmZ+vrrr1WrVi0FBgY6vT6uQGgAAOAmChUqpIyMDJ06deqm81y/fl0xMTHauXOnPvjgAz388MM5HtXISVpamiIjIx3axo8fr0OHDmn58uWaO3eu+vfv79Q6uBKhAQCAm2jUqJEkafXq1dmmZWVlSZLWrFmj9evXa9SoUSpQ4NYfqxcvXnT4808//aTOnTs7zNO8eXM1aNBA8fHxSkpK0v333+/sargMoQEAkC/88ssvkn77Kegbjh8/LkkORxJSU1Pt8w0YMEDh4eF66aWXtH//fknSjz/+qLNnzyo5OVlXr15VQECAJGnLli2SpH379ikpKUnp6em6cOGCTp8+be977ty59tMWL7/8sgIDAzV27NhstY4bN04HDhz40/1UNc+eAAB4vfj4eL3yyiuSpI4dO2ratGk6duyYpk6dKkl6+umndeTIEdlsNr300kuSpGeeeUYzZsxQQkKCBg8erAYNGqhNmzZ64IEHVKpUKQUFBemdd95R3759FRsbq5EjR+qLL75QdHS0OnXqpA8//FDLly9Xv3797HUUK1ZMjRs31uXLlxUeHq5NmzYpNDQ0W72dO3dW+fLl9dhjj+XCu2OdzVi5UsPLJCcnq2LFikpKSlKFChU8XQ4AwMstWrRI/fr1s/y5891332nx4sX65z//6fJanPkM5PQEAABudqffz2fMmKFBgwa5qZq7R2gAAMDNblxHcau7MHr27Knq1aurXbt2KlKkiGrWrJlb5VlGaAAAwI26d++uF198UZLUvn17zZ07N8f5QkND9csvvygiIuKm83ga1zRwTQMAIB/hmgYAAOB2hAYAAGAJoQEAAFhCaAAAAJYQGgAAgCWEBgAAYAmhAQAAWEJoAAAAlhAaAACAJTwaGwCQzdkB4zxdQjYhc6d6ugS7VatWKTY2Vl9++aXq1q3r6XJyDUcaAAC4Q/7+/goODpafn5+nS8lVhAYAAO5Q27ZtlZycrHvvvdeh/eWXX/ZQRbmD0AAAgAukpaXprbfe8nQZbkVoAADASRkZGerTp49++eUXT5fiVoQGAEC+sn79ej300ENq3LixKlWqpLFjxyo9PV1Lly6Vn5+fbDabihQposWLF0uSjh49qsqVK6tAgQKaMmWKjh8/rr///e8qV66ckpOTJf12WmLXrl2SpOjoaD300EP28Q4dOqQePXqoZcuWioyMVI8ePXT06NFcX29X4O4JAEC+8emnn2rIkCH6/vvvVapUKe3cuVNNmzbV3r179cknnyg8PFwtW7bUk08+qb59+0qSypcvr7feekvr1q3T888/rx07dmj//v1KSUmx9/vSSy8pKytL8fHxSkhIsLenpKTogQce0Pvvv6+mTZvq119/VcuWLdW4cWPt3LlTISEhuf0WOIUjDQCAfCErK0tDhgxRv379VKpUKUlSrVq1NHjwYK1evVpr1qxRixYt1KRJE23YsMFh2ZUrV2rkyJGSpNq1ays6OtrSmOPHj1eNGjXUtGlTSVLx4sU1depU/fzzz5o2bZrrVi6XEBoAAPnC5s2bdeTIEVWpUsWhvXv37pKkzz//XJI0dOhQ7d27Vxs3bpT02wWO6enpKlu2rH2ZggUL3na8zMxMrVixItt4bdu2VVBQkH28vITQAADIF44cOSJJunTpkkN7ZGSkJOnYsWOSpK5du6ps2bJ64403JEmLFy9Wv3797ni806dP6/Lly9nGuzHmjfHyEkIDACBfuHGk4ODBgw7tgYGBkqRKlSpJknx9fTVw4EB9/PHHOnLkiBITEy2fjvi90NBQ+fn5ZRvvxpg3xstLCA0AgHyhbt26KlOmjN5//30ZY+zthw8fliT16NHD3ta/f3/5+PjoiSeeUIsWLSz1b7PZHP7u4+Ojdu3aacuWLUpKSnKYlpSUpJ49e97tqngMoQEAkC8ULlxYU6dOVVJSkqZO/e05FllZWZo2bZr69++v++67zz5vWFiYunfvrp07d6p3797Z+jp+/LgkOZxiKF68uL1t586dunz5siZPnqwiRYpo+PDhunbtmiRp0aJFKlmypAYPHuy2dXUXbrkEAGTzZ3o4lCv16dNHvr6+evnll/Xuu+8qNDRUbdq0UVxcXLZ5hw0bpqCgIPvpixumTZumv//975KkTp066bXXXlOfPn3Uq1cvLVmyRJ06ddLIkSNVq1Yt1ahRQxs3btTo0aNVvXp1VapUSVWqVNFXX32VJ59bYTO/P0aTTyQnJ6tixYpKSkpShQoVPF0OAAC5xpnPQE5PAAAASwgNAADAEkIDAACwhNAAAAAsITQAAABLvCY0DBo0iDshAABwI68IDUuXLtW//vUvT5cBAIBXy/OhYc+ePfr3v/+thg0beroUAAC8Wp4ODRcuXNCgQYO0ZMmSPPnLWgAA5CV5OjT0799f8fHxKleunKdLAQDA6+XZZ0/MmjVLderUsfz0sZykpKRkawsODlZwcLATlQEA8OeQlpamtLQ0h7acPvusypOh4b///a82b96sZcuWOdVPkyZNsrVNnDhRkyZNcqpfAAD+DGbNmqX4+HiX9ZfnQkNqaqomTpyolStXOt1XYmKiIiIiHNo4ygAA8BYjRoxQbGysQ1tKSkqOX5qtyHOhIT4+Xrt27VLdunUd2o8eParr16+rWrVqql+/vpYsWXLbviIiIvhtBwCA13L1Kfc8FxouXryoU6dO6dSpUzlO//HHH1W6dOlcrgoAAO+X5+6eWLRokYwx2V7NmjVTZGSkjDFKSEjwdJkAAHidPBcaAACAZxAaAACAJYQGAABgSZ67EPJmuI4BAAD34kgDAACwhNAAAAAsITQAAABLCA0AAMASQgMAALDEa+6eAABYd3bAOE+X4JSQuVM9XUK+xJEGAABgCaEBAABYQmgAAACWEBoAAIAlXAiJu8aFVN6N7QvgjzjSAAAALCE0AAAASwgNAADAEkIDAACwhNAAAAAsITQAAABLCA0AAMASQgMAALCE0AAAACwhNAAAAEsIDQAAwBJCAwAAsITQAAAALCE0AAAASwgNAADAEkIDAACwhNAAAAAsITQAAABLCA0AAMASQgMAALCE0AAAACwhNAAAAEsIDQAAwBJCAwAAsITQAAAALCE0AAAASwgNAADAEkIDAACwhNAAAAAsITQAAABLCA0AAMASQgMAALCE0AAAACwhNAAAAEsIDQAAwBJCAwAAsITQAAAALCE0AAAASwgNAADAEkIDAACwhNAAAAAsITQAAABLCA0AAMASQgMAALAkT4eGrVu3qnXr1ipWrJhCQkLUu3dv/frrr54uCwAAr+Tr6QLu1vbt2zVjxgw9//zzKliwoGbMmKGlS5fq+PHj+vLLLz1dHgAAXidPh4Zly5bJZrNJkho0aKDq1atr/fr1Onv2rEJCQjxcIQAA3iXPhoYnn3zS4e++vr667777lJaWpqCgIA9VBQCA98rT1zT80b59+zRz5kz5+Ph4uhQAALyO14SG1157TR06dNATTzzh6VIAAPBKefb0xA2rVq3SP//5T33xxRfy8fFRQECAXnjhBUvLpqSkZGsLDg5WcHCwi6sEACD3paWlKS0tzaEtp88+q/L8kYZ27dpp5syZGjlypCTpxRdf1GeffWZp2SZNmqhixYoOr1mzZrmxWgAAcs+sWbOyfc41adLkrvvL80caChUqpBo1aui1115TjRo19Mwzz+idd95Ru3btbrtsYmKiIiIiHNo4ygAA8BYjRoxQbGysQ1tKSspdBwe3hIaDBw9q/fr1Onr0qFJTU+Xr66uwsDDde++9at68uYoXL+6OYdWvXz9NmDBBqampluaPiIhQhQoV3FILAACe5upT7i4LDdevX9eiRYs0Y8YMHThwQJJkjHGYx2azycfHR23bttX48eP1wAMPuGp4SZKPj48qVqyoqlWrurRfAADgotCwY8cOPfroo0pLS9MDDzygbt26qVKlSipRooSKFCkim82mCxcuKDU1VT/99JO2bdum5s2b67HHHtOcOXNUtGhRV5Shy5cv6/Dhw/r3v//tkv4AAMD/OB0aVqxYoSlTpmjGjBlq37695d9IuHDhgv71r3+pa9eueuedd1SiRAnLY2ZkZGjo0KGKjIzUkCFDFBQUpCtXrmjw4MGaOnWqoqKi7nZ1AADATTgVGrZt26Y1a9bo22+/VaFChe5o2cDAQI0ePVo9e/bUxIkT9cYbb9h/Evp2jDE6ceKEli1bpn/84x+Kjo5WRESEhg0bpvvvv/9uVgUAANyGU6Hhiy++0Ny5cy1/2OekXLlyGj16tD799FN16NDB0jIFCxbUqlWr7npMAABw55wKDePHj3dJEZGRkYqMjHRJXwAAwD1c/uNOe/futb9u2L59u9q2bav69etrxowZrh4SAADkApeHhqioKHXp0kU7duyQJB07dkwtW7bU+vXrFRYWpgULFhAcAADIg1weGgICAvT111+rV69ekqQXXnhB586d05w5c7R69Wpt3bpVK1ascPWwAADAzVweGmrWrKmwsDBJUlJSkpYuXap69epp4MCBkiR/f39lZGS4elgAAOBmLg8NBQoU0MWLF2WM0bBhw5SZmalp06bZp588eVJ79uxx9bAAAMDNXP7sieHDhysqKko+Pj5KSkpSv3791KxZM0m/PSTj8ccf15UrV1w9LAAAcDOXh4bu3buratWqWr9+vcqXL6+uXbvap3344Yfq1KmTOnXq5OphAQCAmzkVGjIyMuTrm72LWrVqqVatWtnan3322TvuCwAA/Dk4dU3DpEmTlJWV5XQR3333nTZt2uR0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ZLbQsHHjxmyhYd26dUaSWbBggcO8I0eONJLM4cOH7W0XL140kkyXLl3sbTeeOvrHnVN8fLyRZGJjY+92VfE7Vrb7Rx99ZCSZpUuX2qcPHz7cSDInT560t+UUGmbPnm0kma+//tre1qlTJ+Pv7++O1cEtvP7660aSefLJJ83Zs2fNAw884LD9jDHmscceM5LM3r17HdpHjRpllixZYv/7ypUrHaY//PDDOf5/R+5xZp+bW/tbTk94iaysLM2aNUv16tVTyZIlHabd7bM4bjwB1GazObTfeAro79uLFCkiSQ7nw2+cU//j+E899ZQkaf369XdVF/7H6nZv3ry5XnnlFXXo0EGSdPHiRZ05c0aSlJ6efssxHnnkEU2fPl3169eX9Nu1DxcuXLjtcnC9oUOHqnXr1lqwYIHat2+v6dOnKywszGGe0aNHS5JmzZplb8vIyNAnn3yiRx55xN7WpUsX+58XLlyolStXqlu3burXr59b1wE358w+N7f2t4QGL7F//36lpqYqPDw827Q//gN0p6ysrNvOU7ZsWQUHB+vEiRO5UJF3s7rdAwMDNW7cOJ06dUpDhw7VsGHDdOnSJUm67e84hIeHa/To0dq9e7eeeuopTZgwwdJ2huvZbDYtXLhQwcHBSklJUe3atbPNU6dOHTVv3lxLlixRamqqJGn16tVq3ry5/P39s82fnJysZ599VmXLltX//d//uXsV4GK3+7/o6v0tocFL3HhUeF658t3f319Fixb1dBl53p1s95deekndu3fXkCFDtHDhQtWqVcvSGNeuXdOAAQM0atQoxcfH61//+pfDhbTIXadOnVKFChV09OhRjRw5Msd5nnvuOV25csV+++yCBQvs3zh/LysrS3379tXFixe1aNEifkHUS7lyf0to8BJlypSRJB06dOi28/r4+OTqN8U/fpPNyMjQyZMnc/yWhDtjdbvPnj1bf//737V8+XJVr179jsYYO3aslixZopUrVyoiIuKua4Xzzp8/r7i4OK1fv169evXSvHnz9NFHH2Wbr3379qpatareeustJSUlKSUlRfXq1cs234wZM7Rp0yaNHDlSrVq1srdnZGS4dT3gPu7e3xIavESlSpVUvXp1HTx4UAkJCTnOc2NHUKxYMZ0+fVqZmZn2aceOHZMk+y2T0v8Oe93s8HVO7Tm13Th3fsOmTZuUlZWl2NjYm68QLLG63desWSNJDue/b2yr328zHx+fbG1r1qxR4cKFVaxYsVsuC/fr37+/pkyZouLFi+vNN99UeHi4nn76afv/3xtsNpuee+45nT59Wl26dFGfPn2y9bVr1y69+OKLqlmzpl5++WWHacuXL3freiBnrtjnunt/S2jwInPmzFHBggU1ePBgpaSkSPotDGzevFmStG/fPl28eFEPPvig0tPTNW7cOP3www+aMmWK/SKZ9evXa8uWLZJkv0c/OTnZYZwb32qPHj1qb0tKSpIkpaSkOIQRSXrvvffsy5w/f14TJkxQ27Zt1bt3b1eufr5lZbvfuOZh+PDh+v777xUfH6/3339fkrRhwwb9+9//liSVLl1aknTkyBGlpKRoz549+utf/6q0tDSNGTNG3377reLi4rRp0yZJ0scff8wHTC6Jj4+Xn5+fGjZsKEkKDg7WmDFjdPr0aXXv3j3bhal9+vRRaGio9u/fryeeeMJh2rVr19S7d2/ZbDa9/fbb8vPzs09LTU21/9tB7nLFPtft+1uX3IOBP40NGzaYevXqmeDgYNOjRw/z/PPPm65du5ratWubCRMmmL1795ozZ86Yhx56yBQuXNjUrFnTrF271mzcuNGUL1/ejB8/3uzdu9dMmDDB+Pv7G0nG19fXREdHm7S0NFO7dm37/f/FihUzkydPNkuXLjUlS5a0t1epUsUcOXLEfhtnnz59TExMjHnwwQdN9erVzahRo8zly5c9/VZ5ldtt902bNpnWrVubIkWKmAYNGpi1a9eadevWmaJFi5ouXbrY7/s/cuSIiYqKMlFRUea1114zWVlZ5sCBA6Z+/fomMDDQtGjRwmzZssUsWLDAFClSxDz99NPmypUrnl35fGDs2LFGkvHz8zMffPCBMea330IpVqyY/f9deHi42bVrl8NyL774onnkkUey9fe3v/3NSDKlS5c27du3t79atWplQkNDTd++fXNjtfA7zu5zFy9enCv7W55yCbdJSEhQ8+bNNXHiRE2aNMnT5QD5zvDhw9WuXTvFxMR4uhS4WW7tbzk9AQBeKD09XV999ZXatGnj6VLgRQgNcJsbF/VwTz+QO9LT0/Xrr79K+u1al8cff5wH1uUTubW/9XVr78jXjhw5IsnabaAAnNemTRt98803qlatmnx8fPT99997uiTkktza3xJB4RYdO3bUgAEDJEnLli1TnTp1dPHiRQ9XBXi3pk2bKiAgQFWqVNHatWsVEBDg6ZKQC3Jzf8uFkAAAwBKONAAAAEsIDQAAwBJCAwAAsITQAAAALCE0AAAASwgNAADAEkIDAACwhNAAAAAsITQAAABLCA0AAMASQgMAALCE0AAAACwhNAAAAEsIDQAAwJL/B0XJ1hThUUP8AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = mp.set_figure(figdpi=150)\n", "x = np.arange(4)*2\n", "ax.bar(x, save_time[:, 0], label = 'mdapy')\n", "ax.bar(x[:-1]+1, save_time[:-1, 1], label='ovito')\n", "ax.set_ylim(0, 5)\n", "ax.legend()\n", "ax.set_xticks(x+0.5)\n", "ax.set_xticklabels(['dump', 'data', 'xyz', 'mp'])\n", "ax.set_ylabel('Time (s)')\n", "ax.set_title('Save data')" ] }, { "cell_type": "code", "execution_count": 10, "id": "6e86ea3b-9dd6-4a90-b12f-e395b80b76a9", "metadata": {}, "outputs": [], "source": [ "import os \n", "from glob import glob \n", "\n", "for i in glob('mdapy*')+glob('ovito*')+glob('test*'):\n", " os.remove(i)" ] } ], "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.12.0" } }, "nbformat": 4, "nbformat_minor": 5 }