{ "cells": [ { "cell_type": "markdown", "id": "ae9ab3671af05fbe", "metadata": {}, "source": [ "# Post-run analysis\n", "\n", "In the last tutorial, we simulated a Lennard-Jones crystal and stored data in the file `'LJ_T0.70.h5'`.\n", "In this tutorial, we will analyse this data. Below, we will do some standard imports and load the data from the file on the disk." ] }, { "cell_type": "code", "execution_count": 1, "id": "3e92268e37823bf5", "metadata": { "ExecuteTime": { "end_time": "2025-06-03T08:51:56.785053Z", "start_time": "2025-06-03T08:51:56.120684Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found .h5 file (./LJ_T0.70.h5), loading to gamdpy as output dictionary\n" ] } ], "source": [ "# Imports\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import h5py\n", "\n", "import gamdpy as gp\n", "\n", "# Select h5 file\n", "filename='./LJ_T0.70.h5'\n", "output = gp.tools.TrajectoryIO(filename).get_h5()" ] }, { "cell_type": "markdown", "id": "873b2c19-d819-479b-9913-a142c1a87e04", "metadata": {}, "source": [ "## Brief about the h5 data file" ] }, { "cell_type": "markdown", "id": "c2c66719-95ca-4a86-b7ba-2c0f36545533", "metadata": {}, "source": [ "### Large data sets" ] }, { "cell_type": "markdown", "id": "f6e5d1df-a632-4b09-95b4-d33de1356c64", "metadata": {}, "source": [ "Large data sets, such as the trajectory of particle positions, are stored as an HDF5 dataset (a data structure similar to a NumPy array, but data is stored on the disk)." ] }, { "cell_type": "code", "execution_count": 2, "id": "2877306999e9ffdf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of timeblocks: nblocks = 32\n", "Configurations per timeblock: nconfs = 12\n", "Number of particles: N = 2048\n", "Number of spatial dimensions: D = 3\n" ] } ], "source": [ "nblocks, nconfs, N, D = output['trajectory_saver/positions'].shape\n", "print(f'Number of timeblocks: {nblocks = }')\n", "print(f'Configurations per timeblock: {nconfs = }')\n", "print(f'Number of particles: {N = }')\n", "print(f'Number of spatial dimensions: {D = }')" ] }, { "cell_type": "markdown", "id": "5dbb271c-74d7-4c6b-b548-87aadee834ad", "metadata": {}, "source": [ "### Information in attributes" ] }, { "cell_type": "markdown", "id": "21cca96b-5158-4a22-9d4a-d2b6827a00d0", "metadata": {}, "source": [ "Some information, such as details about the simulation box, is stored as attributes. Below, we fetch such data to get the density of the NVT simulation." ] }, { "cell_type": "code", "execution_count": 3, "id": "4f11c4bca2bb1ec0", "metadata": { "ExecuteTime": { "end_time": "2025-05-26T19:57:16.477921Z", "start_time": "2025-05-26T19:57:16.475197Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Density: rho = np.float32(0.97300005)\n" ] } ], "source": [ "simbox = output['initial_configuration'].attrs['simbox_data']\n", "volume = np.prod(simbox)\n", "rho = N/volume\n", "print(f'Density: {rho = }')" ] }, { "cell_type": "markdown", "id": "95b90577-a614-42dd-8f41-83d48ecb0935", "metadata": {}, "source": [ "## Thermodynamics" ] }, { "cell_type": "markdown", "id": "99d93c369c3edc37", "metadata": {}, "source": [ "The gamdpy package contains helper functions to read data in .h5 files.\n", "Thermodynamic data, stored in the `'scalar_saver'` group, can be extracted using the `gp.extract_scalars()` function (we skip the first block with `first_block=1` since the system is not equilibrated)." ] }, { "cell_type": "code", "execution_count": 4, "id": "30dd986d-613d-409d-8480-cc2b60fc8b52", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Extract thermodynamic data\n", "U, W, K = gp.extract_scalars(output, ['U', 'W', 'K'], first_block=1)\n", "\n", "# Get times\n", "dt = output.attrs['dt'] # Timestep\n", "time = np.arange(len(U)) * dt * output['scalar_saver'].attrs['steps_between_output']\n", "\n", "# Plot potential energy per particle as a function of time\n", "plt.figure()\n", "plt.plot(time, U/N)\n", "plt.xlabel(r'Time, $t$')\n", "plt.ylabel('Potential energy per particle, $u=U/N$')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a92ac37ec2c888f1", "metadata": {}, "source": [ "Some properties need to be computed from the data stored. Examples are the kinetic temperature and pressure (in LJ units)." ] }, { "cell_type": "code", "execution_count": 5, "id": "c168a51d98cd9da7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean kinetic temperature: np.mean(T_kin) = np.float32(0.699899)\n", "Mean pressure: np.mean(P) = np.float32(1.4027747)\n" ] } ], "source": [ "# Compute instantaneous kinetic temperature\n", "dof = D * N - D # degrees of freedom\n", "T_kin = 2 * K / dof\n", "\n", "# Compute instantaneous pressure\n", "P = rho * T_kin + W / volume\n", "\n", "print(f'Mean kinetic temperature: {np.mean(T_kin) = }')\n", "print(f'Mean pressure: {np.mean(P) = }')" ] }, { "cell_type": "markdown", "id": "b46be63f-ce41-420a-9b61-47fa7590f2b0", "metadata": {}, "source": [ "## Structure\n", "\n", "To investigate the structure and dynamics of particles, we need to analyse data in the `'trajectory_saver'` group. Again, gamdpy has some built-in functionality to compute various measures. Let us calculate the radial distribution function. We will do this by inserting positions into a configuration object, and using the `gamdpy.CalculatorRadialDistribution()` class. The calculation is done on the GPU (for efficency)." ] }, { "cell_type": "code", "execution_count": 6, "id": "58c5f624-bbf3-489f-bfc9-73644a7777ce", "metadata": {}, "outputs": [ { "data": { "image/png": "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wEbXV1ZWwmAwwGw2Q6VStZlFIqLGGNwQURNqtRrLli3DI488ggEDBiA9PR1vvfVWs9sncr3++uuoqqrC5MmTER4ejr/+9a8oLy9v8fYRERH4+eef8eabb6KiogKpqamYP38+Jk6cCAB47LHHMG3aNPTr1w+1tbXIyclBt27dFFn/3/72N2g0Gjz33HO4cOECkpKS8NBDD0nff+mll9CpUydkZWXh1KlTiIqKwtChQ/H0008DAJYsWYLp06dDEIRmH3/v3r1IT0+HwWBodL2YrTlw4ACzNkQuUAkt/VdHRERumTdvHjZt2oSNGzfKut8HH3yAoqIixMfHIz8/H88++6xnFkgUoFhzQ0TkIT/88ANee+012ffbv38/BgwYgH379jU50UVEbWPmhojITw0dOhTfffcdkpKSfL0UonaFmRsiIj9jMpkwdOhQXH/99QxsiFzAzA0REREFFGZuiIiIKKAwuCEiIqKAwuCGiIiIAgqDGyIiIgooDG6IiIgooDC4ISIiooDC4IaIiIgCCoMbIiIiCigMboiIiCigMLghIiKigMLghoiIiAIKgxsiIiIKKP8P6cshwnaW1lkAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create configuration object\n", "configuration = gp.Configuration(D=D, N=N)\n", "configuration.simbox = gp.Orthorhombic(D, output['initial_configuration'].attrs['simbox_data'])\n", "configuration.ptype = output['initial_configuration/ptype']\n", "configuration.copy_to_device()\n", "\n", "# Call the radial distribution (RDF) calculator\n", "calc_rdf = gp.CalculatorRadialDistribution(configuration, bins=300)\n", "\n", "# Loop positions and compute the RDF\n", "positions = output['trajectory_saver/positions'][:,:,:,:]\n", "positions = positions.reshape(nblocks*nconfs,N,D)\n", "\n", "# Loop over the last configurations in each time block\n", "skipped_timeblocks = 1\n", "start = nconfs-1+skipped_timeblocks*nconfs\n", "step = nconfs\n", "for pos in positions[start::step]:\n", " configuration['r'] = pos\n", " configuration.copy_to_device()\n", " calc_rdf.update()\n", "rdf_data = calc_rdf.read()\n", "\n", "# Plot RDF\n", "plt.figure()\n", "plt.plot(rdf_data['distances'], rdf_data['rdf'][0])\n", "plt.xlabel(r'Pair distance, $r_{ij}$')\n", "plt.ylabel('Radial Distribution Function')\n", "plt.savefig(filename+'_rdf.pdf')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "3509171d-8f19-454f-80e4-efbba01b59b6", "metadata": {}, "source": [ "## Dynamics\n", "\n", "There are also built-in tools for analysing the trajectory. For example, the `gamdpy.tools.calc_dynamics` function computes several dynamical measures, including the mean squared displacement and the intermediate scattering function." ] }, { "cell_type": "code", "execution_count": 7, "id": "166dbf6e-69ac-4fd8-9d9d-f4848e95f17f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['times', 'msd', 'alpha2', 'qvalues', 'Fs', 'count'])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qvalues = 7.5\n", "dynamics = gp.tools.calc_dynamics(output, first_block=1, qvalues=qvalues) # Dictionary with dynamics\n", "dynamics.keys()" ] }, { "cell_type": "code", "execution_count": 8, "id": "eeb37bb4-c1e5-4913-9b40-39801a39806e", "metadata": {}, "outputs": [ { "data": { "image/png": "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l9ve0DbH9srKSoWFhenIkSNXdRnRXVz5HTZlf67ud7Xnk3PZtP15y98m5/Lq+/OWc9nQtvravOl8uvtcXk2fTXkurVarTp06dcXpNB4tkDp37iwfHx+VlpbatZeWlspkMtW7j8lkumz8xf+WlpYqNDTULiYmJsYW4zgJ/Pz58yovL2/wc/38/OTn52fX1rFjx8sf4CV8fHyc/h+/M7FXirnc9oa2NdQeEBDg8T9cybXfYVP25+p+V3s+OZdN25+3/G1yLq++P285lw1tu1y8N5xPd5/Lq+mzqc/l5UaOLvLoXWy+vr7q37+/cnJybG0Wi0U5OTmKj4+vd5/4+Hi7eEnKzs62xUdERMhkMtnFVFZWKi8vzxYTHx+vkydPqqCgwBazZcsWWSwWxcXFue34LvW73/3OrbFXirnc9oa2uZKjJ7g7v8b25+p+V3s+OZdN25+3/G1yLq++P285lw1tu9bO5dX02dznsl5WD1u7dq3Vz8/Punr1auuXX35pfeSRR6wdO3a0ms1mq9VqtT700EPWefPm2eI/++wza5s2baz/8R//Yd23b581LS3N2rZtW+uePXtsMUuWLLF27NjR+u6771p3795t/bd/+zdrRESE9f/+7/9sMSNGjLDefvvt1ry8POu2bduskZGR1nHjxjXfgbcAFRUVVknWiooKT6eCq8S5bD04l60L59N7eXwOUnJyso4fP66FCxfKbDYrJiZGWVlZtknWxcXFMhp/HOgaPHiw1qxZowULFmj+/PmKjIzUxo0bFRUVZYt54oknVFVVpUceeUQnT57UkCFDlJWVJX//H9fTefPNNzV9+nTdeeedMhqNGjNmjJYvX958B94C+Pn5KS0trc6lRbQ8nMvWg3PZunA+vZfH10ECAADwNh5fSRsAAMDbUCABAAA4oEACAABwQIEEAADggAIJAADAAQUSrtqRI0c0bNgw9e7dW3379tX69es9nRKu0n333adOnTrp/vvv93QqcFFmZqZuvfVWRUZG6pVXXvF0OrgK/B16Frf546qVlJTYHuViNpvVv39/ffXVV2rXrp2nU0MjffTRRzp16pRee+01vf32255OB046f/68evfura1btyowMFD9+/fX9u3bFRwc7OnU0Aj8HXoWI0i4aqGhoXbPuevcubPKy8s9mxSuyrBhw9ShQwdPpwEX5efn67bbblO3bt3U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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(dynamics['times'], dynamics['msd'], 'o')\n", "plt.xscale('log')\n", "plt.ylim(0, None)\n", "plt.xlabel(r'Time, $t$')\n", "plt.ylabel(r'Mean squared displacement')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "id": "12c2aaba-aa41-47c4-8a28-99245f287700", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(dynamics['times'], dynamics['Fs'], 'o')\n", "plt.xscale('log')\n", "plt.ylim(0, 1.1)\n", "plt.xlabel(r'Time, $t$')\n", "plt.ylabel(r'Intermediate scattering function, $F(t, q = ' f'{qvalues}' r'$)')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "5c7a37b6-312a-437a-899b-ac0838bc2f3d", "metadata": {}, "source": [ "## Details about stored data\n", "\n", "### Structure of h5 file\n", "Below is a function to print the structure of a given h5 file." ] }, { "cell_type": "code", "execution_count": 10, "id": "31e30363397fed86", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "initial_configuration/ (Group)\n", " ptype (Dataset, shape=(2048,), dtype=int32)\n", " r_im (Dataset, shape=(2048, 3), dtype=int32)\n", " scalars (Dataset, shape=(2048, 4), dtype=float32)\n", " topology/ (Group)\n", " angles (Dataset, shape=(0,), dtype=int32)\n", " bonds (Dataset, shape=(0,), dtype=int32)\n", " dihedrals (Dataset, shape=(0,), dtype=int32)\n", " molecules/ (Group)\n", " vectors (Dataset, shape=(3, 2048, 3), dtype=float32)\n", "scalar_saver/ (Group)\n", " scalars (Dataset, shape=(32, 64, 3), dtype=float32)\n", "trajectory_saver/ (Group)\n", " images (Dataset, shape=(32, 12, 2048, 3), dtype=int32)\n", " positions (Dataset, shape=(32, 12, 2048, 3), dtype=float32)\n" ] } ], "source": [ "gp.tools.print_h5_structure(output)" ] }, { "cell_type": "markdown", "id": "d99f3cbe-eb60-450e-ab57-c54b9db18603", "metadata": {}, "source": [ "### Attributes inside the H5 file\n", "Below is a function that will print the attributes in a given h5 file." ] }, { "cell_type": "code", "execution_count": 11, "id": "d48dc708-79d6-43ae-8232-b67127b0f1a6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Attributes at /:\n", " - dt: 0.005\n", " - script_content: ...\n", " - script_name: ...\n", "Attributes at /initial_configuration/:\n", " - simbox_data: [12.815602 12.815602 12.815602]\n", " - simbox_name: Orthorhombic\n", "Attributes at /initial_configuration/scalars:\n", " - scalar_columns: ['U' 'W' 'K' 'm']\n", "Attributes at /initial_configuration/topology/molecules/:\n", " - names: []\n", "Attributes at /initial_configuration/vectors:\n", " - vector_columns: ['r' 'v' 'f']\n", "Attributes at /scalar_saver/:\n", " - scalar_names: ['U' 'W' 'K']\n", " - steps_between_output: 16\n" ] } ], "source": [ "gp.tools.print_h5_attributes(output)" ] }, { "cell_type": "markdown", "id": "98a62831-a9b6-4fa7-a34a-82ad0e4965ed", "metadata": {}, "source": [ "## Concluding remarks\n", "\n", "You have now conducted your first simulation and done some post-analysis of the trajectory. You now understand the basics of how gamdpy works, and are ready for more advanced simulations and analysis - see examples." ] } ], "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.2" } }, "nbformat": 4, "nbformat_minor": 5 }