{ "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.0a1'" ] }, "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, 13, 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.xyz.gz\n", "Saving to test.mp\n" ] } ], "source": [ "system = mp.build_crystal('Cu', 'FCC', 3.615, nx=100, ny=100, nz=100)\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.xyz.gz')\n", "system.write_xyz('test.xyz', compress=True)\n", "print('Saving to test.mp')\n", "system.write_mp('test.mp')" ] }, { "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", " _ = ovito.io.import_file(f'test.{fmt}')\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 == 'xyz.gz':\n", " system.write_dump(f'mdapy.xyz', compress=True)\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", " elif fmt == 'xyz.gz':\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', 'xyz.gz', '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', 'xyz.gz', '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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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = mp.set_figure(figdpi=150)\n", "x = np.arange(5)*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', 'xyz.gz', 'mp'])\n", "ax.set_ylabel('Time (s)')\n", "ax.set_title('Load data')" ] }, { "cell_type": "code", "execution_count": 9, "id": "2220f078-08f1-45d9-b8d1-b65fe4813cbb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Save data')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = mp.set_figure(figdpi=150)\n", "x = np.arange(5)*2\n", "ax.bar(x, save_time[:, 0], label = 'mdapy')\n", "ax.bar(x[:-1]+1, save_time[:-1, 1], label='ovito')\n", "\n", "ax.legend()\n", "ax.set_xticks(x+0.5)\n", "ax.set_xticklabels(['dump', 'data', 'xyz', 'xyz.gz', '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": [ "!rm test* mdapy* ovito*" ] } ], "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.11.0" } }, "nbformat": 4, "nbformat_minor": 5 }