{ "cells": [ { "cell_type": "markdown", "id": "75509695", "metadata": {}, "source": [ "# Read and manipulate 2D results\n", "\n", "In this notebook, we will read and use the results of a 2D CPU simulation.\n", "\n", "To do this, it is not necessary to read an entire simulation.\n", "However, you must use the Wolfresults_2D object to manipulate the results." ] }, { "cell_type": "code", "execution_count": 1, "id": "d9539858", "metadata": {}, "outputs": [], "source": [ "import _add_path # For debugging purposes - can be removed in production\n", "from wolfhece.wolfresults_2D import Wolfresults_2D" ] }, { "cell_type": "markdown", "id": "ff170672", "metadata": {}, "source": [ "## Create the object\n", "\n", "We must use the full or relative path to the simulation files, including the generic name of the simulation (without extension)." ] }, { "cell_type": "code", "execution_count": 2, "id": "e086f7d3", "metadata": {}, "outputs": [], "source": [ "res = Wolfresults_2D(fname = '../_static/2d/test/test')" ] }, { "cell_type": "markdown", "id": "6b8697db", "metadata": {}, "source": [ "## Number of time steps" ] }, { "cell_type": "code", "execution_count": 3, "id": "5d7e5c9c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of available results : 1001\n" ] } ], "source": [ "print(\"Number of available results : \", res.get_nbresults())" ] }, { "cell_type": "markdown", "id": "4aea9f18", "metadata": {}, "source": [ "## List of steps\n", "\n", "We can get all steps and times." ] }, { "cell_type": "code", "execution_count": 4, "id": "4019cca3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Times: [ 0. 0.02234928 0.04255178 ... 16.82746 16.844397\n", " 16.861334 ]\n", "Steps: [ 0 1 2 ... 998 999 999]\n" ] } ], "source": [ "times, steps = res.get_times_steps()\n", "\n", "print('Times:', times)\n", "print('Steps:', steps)\n", "\n", "assert len(times) == res.get_nbresults()\n", "assert len(steps) == res.get_nbresults()" ] }, { "cell_type": "markdown", "id": "cacc2009", "metadata": {}, "source": [ "## Read one step\n", "\n", "To access one simulation step, we can use `read_oneresul`.\n", "The value used in parameter is 0-based; `-1` is the last one.\n", "\n", "By default, the view is the water depth but the routine will read h, qx, qy (k and eps if available).\n", "\n", "Arrays for each block are stored in a dictionnary `myblocks`." ] }, { "cell_type": "code", "execution_count": 5, "id": "2b41728b", "metadata": {}, "outputs": [], "source": [ "res.read_oneresult(-1)" ] }, { "cell_type": "code", "execution_count": 6, "id": "f6078f36", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['block1'])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.myblocks.keys()" ] }, { "cell_type": "markdown", "id": "96233b25", "metadata": {}, "source": [ "Each block has :\n", " \n", " - waterdepth\n", " - qx\n", " - qx\n", " - (k)\n", " - (eps)\n", "\n", "These attributes are `WolfArray` instances." ] }, { "cell_type": "code", "execution_count": 7, "id": "c6604a99", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n" ] } ], "source": [ "print(type(res.myblocks['block1'].waterdepth))\n", "print(type(res.myblocks['block1'].qx))\n", "print(type(res.myblocks['block1'].qy))" ] }, { "cell_type": "markdown", "id": "6d690e2c", "metadata": {}, "source": [ "## Access to one specific block\n", "\n", "`__getitem__` routine is overloaded. You can access one block by its index or its name.\n", "\n", "It is not a pointer to the full block result, `OneWolfResult` class, but the `WolfArray` of the current view." ] }, { "cell_type": "code", "execution_count": 16, "id": "b73544f4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] } ], "source": [ "b1 = res[0]\n", "b2 = res['block1']\n", "\n", "print(type(b1))\n", "print(type(b2))" ] }, { "cell_type": "markdown", "id": "b03c96a9", "metadata": {}, "source": [ "## Change view type\n", "\n", "You can change the current view.\n", "\n", "All available type are in `views_2D`Enum class." ] }, { "cell_type": "code", "execution_count": 19, "id": "3fbeb704", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'WATERDEPTH': , 'WATERLEVEL': , 'TOPOGRAPHY': , 'QX': , 'QY': , 'QNORM': , 'UX': , 'UY': , 'UNORM': , 'HEAD': , 'FROUDE': , 'KINETIC_ENERGY': , 'EPSILON': , 'TURB_VISC_2D': , 'TURB_VISC_3D': , 'VECTOR_FIELD_Q': , 'VECTOR_FIELD_U': , 'U_SHEAR': , 'SHIELDS_NUMBER': , 'CRITICAL_DIAMETER_SHIELDS': , 'CRITICAL_DIAMETER_IZBACH': , 'CRITICAL_DIAMETER_SUSPENSION_50': , 'CRITICAL_DIAMETER_SUSPENSION_100': , 'QNORM_FIELD': , 'UNORM_FIELD': , 'WL_Q': , 'WD_Q': , 'WL_U': , 'WD_U': , 'T_WL_Q': , 'T_WD_Q': , 'T_WD_U': }\n" ] } ], "source": [ "from wolfhece.wolfresults_2D import views_2D\n", "\n", "# Print all the available Enum views\n", "print(views_2D.__members__)\n", "\n", "res.set_current(views_2D.WATERLEVEL)\n" ] }, { "cell_type": "code", "execution_count": 21, "id": "ac0701d6", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = res[0].plot_matplotlib()" ] }, { "cell_type": "markdown", "id": "f4bdf3b9", "metadata": {}, "source": [ "## Convert to WolfArray\n", "\n", "You can use the `as_WolfArray` routine to convert the results to a single array object.\n", "\n", "- If the simulation contains only one block, the returned type is `WolfArray`.\n", "- If there are multiple blocks, the returned type is `WolfArrayMB`.\n", "\n", "In this example, since the simulation has only one block, `a` is an instance of `WolfArray`." ] }, { "cell_type": "code", "execution_count": 25, "id": "90d647d0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n" ] } ], "source": [ "a = res.as_WolfArray()\n", "\n", "print(type(a))\n", "\n", "aMB = res.as_WolfArray(force_mb=True)\n", "print(type(aMB))" ] } ], "metadata": { "kernelspec": { "display_name": "python311", "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.9" } }, "nbformat": 4, "nbformat_minor": 5 }