{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Poiseuille Channel (Velocity-Neumann)\n", "\n", "This simulation is used as test for the outlet boundary condition with a fixed pressure. A velocity Bounce-Back BC is used at inlet. The fixed pressure at outlet is meant to avoid a constant increase of the domain average density." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:39.713228Z", "iopub.status.busy": "2026-06-29T17:41:39.713110Z", "iopub.status.idle": "2026-06-29T17:41:40.203446Z", "shell.execute_reply": "2026-06-29T17:41:40.203085Z" } }, "outputs": [], "source": [ "from nassu.cfg.model import ConfigScheme\n", "\n", "filename = \"validation/analytical/02_poiseuille_channel_flow/02_poiseuille_channel_flow.nassu.yaml\"\n", "\n", "sim_cfgs = ConfigScheme.sim_cfgs_from_file_dct(filename)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In this case, the domain's length is much longer than it is for the periodic cases. This assures that the flow will be able to develop before reaching the outlet." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:40.204517Z", "iopub.status.busy": "2026-06-29T17:41:40.204393Z", "iopub.status.idle": "2026-06-29T17:41:40.207062Z", "shell.execute_reply": "2026-06-29T17:41:40.206733Z" } }, "outputs": [ { "data": { "text/plain": [ "'velocityNeumannPoiseuilleChannel:000'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sim_cfg = next(\n", " sim_cfg\n", " for (name, _), sim_cfg in sim_cfgs.items()\n", " if name == \"velocityNeumannPoiseuilleChannel\"\n", ")\n", "\n", "sim_cfg.full_name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Extract data from multiblock data from output file of macrs export" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:40.223862Z", "iopub.status.busy": "2026-06-29T17:41:40.223762Z", "iopub.status.idle": "2026-06-29T17:41:40.856873Z", "shell.execute_reply": "2026-06-29T17:41:40.856489Z" } }, "outputs": [ { "data": { "text/plain": [ "dict_keys([(0, 'velocityNeumannPoiseuilleChannel')])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "from vtkmodules.util.numpy_support import vtk_to_numpy\n", "\n", "import nassu.viz as common\n", "\n", "common.use_style()\n", "\n", "extracted_data = {}\n", "array_to_extract = \"ux\"\n", "\n", "export_instantaneous_cfg = sim_cfg.output.exports\n", "macr_export = export_instantaneous_cfg[\"default\"].volumes[\"default\"].inst\n", "reader = macr_export.read_xdmf_export(sim_cfg.n_steps)\n", "data = reader.GetOutput()\n", "\n", "p1 = [sim_cfg.domain.domain_size.x / 2, 0.5, 0]\n", "p2 = [sim_cfg.domain.domain_size.x / 2, sim_cfg.domain.domain_size.y - 0.5, 0]\n", "line = common.create_line(p1, p2, sim_cfg.domain.domain_size.y - 1)\n", "\n", "pos = np.linspace(p1, p2, sim_cfg.domain.domain_size.y)\n", "\n", "probe_filter = common.probe_over_line(line, data)\n", "\n", "probed_data = vtk_to_numpy(probe_filter.GetOutput().GetPointData().GetArray(array_to_extract))\n", "extracted_data[(sim_cfg.sim_id, sim_cfg.name)] = {\"pos\": pos, \"data\": probed_data}\n", "\n", "extracted_data.keys()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Extract data from multiblock data from output file of macrs export for rho plotting" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:40.857853Z", "iopub.status.busy": "2026-06-29T17:41:40.857703Z", "iopub.status.idle": "2026-06-29T17:41:40.865332Z", "shell.execute_reply": "2026-06-29T17:41:40.865053Z" } }, "outputs": [ { "data": { "text/plain": [ "{(0, 'velocityNeumannPoiseuilleChannel', 0): np.float32(1.0),\n", " (0, 'velocityNeumannPoiseuilleChannel', 16000): np.float32(1.0222814),\n", " (0, 'velocityNeumannPoiseuilleChannel', 32000): np.float32(1.0222814),\n", " (0, 'velocityNeumannPoiseuilleChannel', 48000): np.float32(1.0222814),\n", " (0, 'velocityNeumannPoiseuilleChannel', 64000): np.float32(1.0222814)}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "average_data = {}\n", "array_to_extract = \"rho\"\n", "\n", "export_instantaneous_cfg = sim_cfg.output.exports\n", "macr_export = export_instantaneous_cfg[\"default\"].volumes[\"default\"].inst\n", "for time_step in macr_export.interval.get_all_process_steps(sim_cfg.n_steps):\n", " reader = macr_export.read_xdmf_export()\n", " reader.UpdateTimeStep(time_step)\n", " reader.Update()\n", "\n", " multiblock_dataset = reader.GetOutput()\n", " n_blocks = multiblock_dataset.GetNumberOfBlocks()\n", "\n", " blocks_data = []\n", " for i in range(n_blocks):\n", " block = multiblock_dataset.GetBlock(i)\n", " data_array = vtk_to_numpy(block.GetCellData().GetArray(array_to_extract))\n", " blocks_data.append(data_array)\n", " multiblock_avg = np.average(np.concatenate(blocks_data).flatten())\n", "\n", " average_data[(sim_cfg.sim_id, sim_cfg.name, time_step)] = multiblock_avg\n", "\n", "average_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Extract data from multiblock data from output file of macrs export for profile plotting" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:40.866045Z", "iopub.status.busy": "2026-06-29T17:41:40.865973Z", "iopub.status.idle": "2026-06-29T17:41:40.869186Z", "shell.execute_reply": "2026-06-29T17:41:40.868941Z" } }, "outputs": [ { "data": { "text/plain": [ "dict_keys([(0, 'velocityNeumannPoiseuilleChannel')])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "profile_data = {}\n", "array_to_extract = \"ux\"\n", "\n", "export_instantaneous_cfg = sim_cfg.output.exports\n", "macr_export = export_instantaneous_cfg[\"default\"].volumes[\"default\"].inst\n", "time_step = macr_export.time_steps(sim_cfg.n_steps)[-1]\n", "data = macr_export.read_export(time_step)\n", "\n", "p1 = [0.5, sim_cfg.domain.domain_size.y / 2 - 0.5, 0]\n", "p2 = [\n", " sim_cfg.domain.domain_size.x - 0.5,\n", " sim_cfg.domain.domain_size.y / 2 - 0.5,\n", " 0,\n", "]\n", "line = common.create_line(p1, p2, sim_cfg.domain.domain_size.x - 1)\n", "\n", "pos = np.linspace(p1, p2, sim_cfg.domain.domain_size.x)\n", "\n", "probe_filter = common.probe_over_line(line, data)\n", "\n", "probed_data = vtk_to_numpy(probe_filter.GetOutput().GetPointData().GetArray(array_to_extract))\n", "profile_data[(sim_cfg.sim_id, sim_cfg.name)] = {\"pos\": np.array(pos), \"data\": probed_data}\n", "\n", "profile_data.keys()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Results\n", "\n", "The velocity profile at the end of simulation is compared with the steady state analytical solution below:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Processing functions for Poiseuille Flow case" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:40.869825Z", "iopub.status.busy": "2026-06-29T17:41:40.869757Z", "iopub.status.idle": "2026-06-29T17:41:40.871486Z", "shell.execute_reply": "2026-06-29T17:41:40.871222Z" } }, "outputs": [], "source": [ "from typing import Callable\n", "\n", "\n", "def get_poiseuille_analytical_func() -> Callable:\n", " \"\"\"Poiseuille analytical velocity function\n", "\n", " Returns:\n", " Callable: Analytical velocity function\n", " \"\"\"\n", " return lambda pos: 6 * (pos - pos**2)\n", "\n", "\n", "def plot_analytical_poiseuille_vels(ax):\n", " x = np.arange(0, 1.01, 0.01)\n", " analytical_func = get_poiseuille_analytical_func()\n", " analytical_data = analytical_func(x)\n", " ax.plot(x, analytical_data, **common.markers.exp_line(linestyle=\"--\"), label=\"Analytical\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:40.872182Z", "iopub.status.busy": "2026-06-29T17:41:40.872116Z", "iopub.status.idle": "2026-06-29T17:41:40.961080Z", "shell.execute_reply": "2026-06-29T17:41:40.960783Z" } }, "outputs": [ { "data": { "image/png": "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pn///vz9999s2LAhV+KU1U3n5+dnWvbDDz9w+/ZtunXrxo8//pgjkRs4cCD169dnyZIl/Pjjj0WaN+n7778nIyOD9u3bs3LlSlOrTpcuXRgwYACDBg3i5s2brF271tRdtmTJEuLi4mjRogWrVq3K0ZLk4+PD+PHjC02cmjRpYmqxcXJyokOHDnlu99RTT3H06FHWrFmT67PfunUriYmJ9OrVC09Pz0Lfa17q16/PE088werVq/H39y/0Myvtz7+oMjMzWbx4Mf369TMt69OnDwMHDuT69euEhISwefNmGjRoYFrfuXNn+vXrx+nTp4mPj8fFxQXufScPHDiQqyXUx8eH4cOH8/DDD7NlyxY++OCDXF1omZmZfPPNNzla1Hr37k16ejp//PEHe/fuzTMBKu5+KpWKWrVqce3aNW7cuCGJUxUkg8NFmdqwYQOjRo1i1KhRDB06lG7durFy5UoA+vXrR69evbhw4QJ37tzBwcGBl156KVcZPj4+PPjgg3CvpaUg9evXh3tdZXldCDUajWkOnP/++48rV67g7OzMCy+8kGtbtVrNM888A5BrTiollVXcWd2KWRer/GR1wW3evDlH693169c5deoUlpaWDB8+3LR8586dcK+lJK/Wr3HjxpkV66FDhwB4/fXXc3WF1ahRg/Hjx8N935Xdu3cDMG3atHznZsrezVMS/fr1o3bt2hw7doxr167lWLd27VqAPMcMmePVV1/F1taWjRs35ujqyktpf/5F1axZsxxJE/e6NDt37gzAoEGDciRN3GuBbtiwIUCObsWs43bnzp188MEHjB8/nieffJJRo0aZfjgkJydz+/btXHE0bdo0z27g3r17AxAZGZln/MXdj2xDEe7vqhdVg7Q4iTIVHR1NdHR0jmU1a9bkqaeeMiVJWS0djRs3xs7OLs9y2rRpw6lTp0zb5qdp06b4+fmxfv16fHx86NGjB+3ataN9+/Z07Ngxx4X28uXLcG9Q9JgxYwAwGo05yktKSoJ7Y5MqirKKO2usVF6TK2bXo0cPPDw8iIiIYN++faaLy/r16zEajTz00EOmLtjk5GRTDJ9//jkqlSpXrEajEQsLC6KjozEajbluAsguMTGR+Ph4KKBLMWt51nclOTmZO3fuwL0xSGVNrVbzxBNP8O2337J27VqmTZsG97oYT58+Ta1atfIcfG+OWrVqMXbs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Q0ZGBm7cuAF9fX22vKamBu+++y5SUlKk6tDU1MT69evx+uuvP4d30rXFxcXhww8/lLkmLVy4EB999BH7/6ysLAQEBGDMmDH4+eef2fLq6mq8//77+Ouvv2TqtrCwwK+//ooBAwao+F10benp6Zg+fXqL25tff7Zv344ff/wRW7ZswbRp06T2W7duHcLDw6XK9PX1sXv3bqlktyN12xYnNLUYRURE4OTJk7h58yY0NDTg4uKCadOmyfSPGTVqFGxsbGTmuVGmDiLf6NGjcebMGZw8eRK5ubkwMjLC+PHjZZpR9fX1ERAQgEGDBkmVe3p6ttrngFqbFPPFF1/A398fcXFx7CK/r776Knr37i2138svv4yAgACFphxwdnZGTU0NrVOnoB49eiAqKgonT57ErVu32rwmSSZUbE5PTw8HDx5EbGwskpOTUVNTg5deegmTJ09Gv379nvM76pr8/Pxw5swZnDhxgl3k95VXXpGZ28nAwAABAQFwdHSUKtfX18eBAweQlJSE69evo7CwEFpaWnBycsLkyZPp+6CAtiZsbX79kVyTmrc2SXz11VeYOHEi4uPjUVVVBWtrawQGBqJXr14qi71btzgRQgghhHQk6slJCCGEEKIgSpwIIYQQQhREiRMhhBBCiIIocSKEEEIIURAlToQQQgghCqLEiRBCCCFEQZQ4EUIIIYQoiBInQgghhBAFUeJECCGEEKIgSpwIIYQQQhREiRMhhBBCiIIocSKEEEIIURAlToQQQgghCvo/CWPAAaeqNvMAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "fig, ax = common.fig_single()\n", "\n", "num_data = extracted_data[(sim_cfg.sim_id, sim_cfg.name)]\n", "num_avg_vel = np.average(num_data[\"data\"])\n", "position_vector = (num_data[\"pos\"][:, 1] - 0.5) / (sim_cfg.domain.domain_size.y - 1)\n", "ax.plot(\n", " position_vector,\n", " num_data[\"data\"] / num_avg_vel,\n", " **common.markers.sim(shape=\"o\", alpha=0.8),\n", " label=f\"N={sim_cfg.domain.domain_size.x} (avg. {num_avg_vel:.2e})\",\n", ")\n", "\n", "plot_analytical_poiseuille_vels(ax)\n", "ax.set_title(\n", " f\"Poiseuille (Velocity Neumann)\\n({sim_cfg.models.LBM.vel_set} {sim_cfg.models.LBM.coll_oper})\"\n", ")\n", "ax.legend()\n", "plt.tight_layout()\n", "plt.show(fig)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "The results show that the flow evolution equation from LBM converges to steady analytical solution. \n", "The average domain's density is shown in the plot below:\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:40.962177Z", "iopub.status.busy": "2026-06-29T17:41:40.962100Z", "iopub.status.idle": "2026-06-29T17:41:41.004852Z", "shell.execute_reply": "2026-06-29T17:41:41.004525Z" } }, "outputs": [ { "data": { "image/png": "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6VRISIiCg4se7HJfbF7SLQfS09N13333KSQkRFOmTFFQUJBfxpWkUaNGKSIiwv580KBBGjJkiI/PrnhJSUl+Gacyo0dm6JN39Mg7euQdPfKuMvUoJSXFuLbcg1N0dLScTqdycnI8gooKj/pI8rimye3w4cO6//775XA4NHv2bNWsWdMv47rNnDlTiYmJ9uf+OuKUlJSk1q1by+FwXNJYlRU9MkOfvKNH3tEj7+iRd5WxRwUFBca15R6c3KfKUlJSitxb6ccff5Qk1a9f32P5zp07NWbMGNWpU0f/+c9/VK1aNb+Me77Y2FhVrVq11M/rYhwOR6X54ior9MgMffKOHnlHj7yjR95Vph758jzK/eLwa6+9VpK0cOFCj+X79u3Td999p4SEBI8jQ1999ZVGjBihhg0b6r333is2NJVmXAAAAF/5fMRp3759ysrKkgqvGcrPz7fPc0ZFRalJkyZS4c0yd+3a5bFMkm699Va9/PLL+vDDDxUdHa2ePXvq+PHjmjJlilwul4YOHWrXLlu2TOPHj1e9evX06KOPav/+/R5zqVatmho0aODzuAAAAKXhc3B65plntHXrVo9l7ouoW7VqpUWLFkmSzpw5oyFDhqht27aaN2+eXVu1alU9//zzeuKJJ/Sf//xH//nPf+x1Xbp08Qg4y5cvV35+vlJTUzVy5Mgic+nbt6+mTJni87gAAACl4XNwaty4sXJzc4td17RpU/v/oaGhatWqlcfRJre+ffuqfv36mjt3rg4cOKCYmBjddNNNGjp0qEJC/jelhg0bqlWrViXOJT4+vlTjAgAAlIbPaWLSpElGdbGxsfbRp+K0adPG6x/eHT9+vK/TMxoXAACgNMr94nAAAIDLFcEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADAEMEJAADA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AAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwRHACAAAwFFKaB6WlpWnNmjXasWOHYmNj9eijj/o8xpkzZ7RixQrt379fMTEx6t69u6655ppS1+bk5Ojll18u9vExMTEaN26cz3MEAAA4n0/BqaCgQPfee6++/fZb5efnS5Lq1Knjc3BKTk7WfffdpxMnTtjLpk6dqrFjx+qxxx4rVW1eXp7mzJlT7PZq1qxJcAIAAJfM5+C0efNmVatWTT169NCaNWt83qDT6dT/+3//TydOnFDHjh1100036dixY5o3b55mzJihxMRE9ejRw+dat44dO6p3794eyyIjI32eJwAAwIV8Ck4Oh0PvvvuuOnTooJCQEPXq1Uu5ubk+bXDNmjVKTU1Vt27d9NZbbykoKEiSdOONN2r06NF6++237TDkS61bixYtNHLkSJ/mBAAAYMKn4BQUFKTOnTtf0gY3bdokSRo9erQdhCSpW7duat68ubZs2aK8vDyFhYX5VOt2+PBhTZ8+XZmZmWrQoIFuvvlm1alT55LmDAAAoIp4V93+/fslqdgLwVu3bi2Xy6WDBw/6XOv2+eefa+rUqXr77bf1/PPP65ZbbtGHH35YRs8GAAD8mpTqXXWXIjMzUw6HQ1WqVCmyLi4uTip8F52vtZIUHh6um266SS1btlReXp6++eYbffPNN3ruued01VVXqWPHjiXO6+zZs8rIyLA/DwsL8ziSVRoul8vjXxRFj8zQJ+/okXf0yDt65F1l7JEvz6Xcg1NQUJAsyyp2XUFBgSQpODjY59qIiAitWLFCdevW9ah755139NJLL2n27NkXDU6jRo1SRESE/fmgQYM0ZMgQn59fcZKSkvwyTmVGj8zQJ+/okXf0yDt65F1l6lFKSopxbbkHp6pVq6qgoECnT59W9erVPdadPHnSrvG1NiwsrEhokqS77rpL//znP7Vnz56LzmvmzJlKTEy0P/fXEaekpCS1bt1aDofjksaqrOiRGfrkHT3yjh55R4+8q4w9ch+MMVHuwalp06b66quvtGXLFvXq1cteblmWtm7dqrCwMDVo0MDn2pLk5+crPz/f686NjY21Q5i/ORyOSvPFVVbokRn65B098o4eeUePvKtMPfLleZT7xeE33HCDJOmNN95Qdna2vXzBggU6dOiQunbtqpCQEJ9rN27c6HGTTBXeB+qll15Sfn6+WrVqVS7PDwAAVF4+H3F699137XeypaWlyeVy6c9//rMkqW7durrvvvskSefOndMrr7yi+vXr63e/+539+C5duqhNmzbavn27+vXrp86dO+vYsWNav369goOD9cADD5Sq9pNPPtHSpUvVunVrxcfHKycnR999951+/vlnhYWF6d577720TgEAgF89n4PTypUrtXXrVo9l7j910qpVKzs45eTkaM6cOWrbtq1HcAoKCtK0adM0duxY7dq1SwsWLJAKL+6eOHGi2rVrV6rarl27auPGjdqyZYu2bNliL69bt65efPFFNW/e3NenCgAA4MHn4HTvvfeqX79+xa47/wLu6OhoTZw4UTVr1ixSd8UVV2jRokX69ttvlZqaqujoaF1//fVFLgD3pbZv377q3bu3kpKSdODAAblcLjVq1EiJiYmV5hwsAACoWD4Hp1tvvdWoLjw8/KJ/+iQ4OFgdO3a86C0CfK11OBxKTEz0eHccAACAv5T7xeEAAACXK4ITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAIYITAACAoZCKngAAoPJwOp1yuVwVPY1Sc889JydHDoejoqcTkC7XHjkcDoWGhl7yOAQnAIBfOJ1O7d27V5ZlVfRUSs2yLIWEhCg1NVVBQUEVPZ2AdLn2KCgoSE2aNLnk8ERwAgD4hcvlkmVZqlu3rsLDwyt6OqViWZays7MVGRl5WYWC8nQ59ig3N1dHjhyRy+UiOAEAAkt4eLgiIiIqehqlYlmWCgoKFBERcdmEgvL2a+8RF4cDAAAYIjgBAAAYIjgBAAAYIjgBAAAYIjgBAIAKMWfOHHXq1Enp6ekVPRVjvKsOAAAffPbZZ3rmmWdUvXp1LVu27LK6CWRZ++KLL/T000/bnzscDlWrVk2JiYkaM2aMGjVq5FGfk5Oj9PR0FRQUVMBsS4fgBAAIWAXOLOWkLlTuoY9UkHNSwRE1Fd5goCIaDlZwaHSFzOmDDz5QUFCQ9u3bpy+//FI333xzhcwjEOXl5Sk9PV0vvPCCbrnlFuXn52vXrl164YUX9Nlnn2nx4sWqV69eRU/zknCqDgAQkPLP7NXplT11dssE5R3fpPwzPyrv+Cad3TJBp1f2VP6ZveU+pyNHjmjDhg165JFH1KJFC82fP7/c53A5iI6OVvXq1VW7dm11795df/jDH5SRkaF58+ZV9NQuGcEJABBwCpxZSl83XK6sQ5KksNpdFNXiIYXV7iJJcmUdUvq64SpwZpXrvBYsWKDIyEgNGDBAw4YN07p163Ts2DF7/Zo1a9SpUyetX7++yGO3bdumTp06afny5faytLQ0TZ48Wbfffru6deumwYMH67333vM4deW+Duj06dN688031b9/f3Xr1k2StH79enXq1EmdOnXS9ddfrx49eui+++7TmjVrimx/165deuCBB9S9e3f95je/0ZIlS7Rp0yZ16tRJW7Zs8ag1mZcvmjVrJkn66aefSqx566231LdvX/Xo0UMTJkxQWlpakZqDBw/q6aef1q233qobb7xRo0aN0qefflqqOZVWqU/VpaSkaMeOHYqIiNBtt91WqjF27typ/fv3KyYmRtddd52io0s+7FpWtQCAwJOTutAOTVU7z1BE/ID/rTu4VBmbxsqVdUg5Bxcpqsld5TKngoICLVq0SHfccYeio6M1YMAATZ48WQsXLtRDDz0kSerataskad68eXa4cZs/f77y8vJ00003SZJOnjypoUOHKjIyUk899ZSaNGmi77//Xn/+85+VkpKiSZMm/fJ8C68D+sc//qGrrrpK06ZN06pVqyRJnTp18ggOJ0+e1OLFi/Xggw/q7bffVpcuvwTNlJQUDR8+XImJiZo2bZqio6M1d+5cbdy4Uenp6crPz/cY42LzevHFF33unTsw1a5du9j1r7/+uurXr68ZM2Zo//79mjBhgtLT0zVjxgy7Zv/+/Ro6dKgaNmyov/71r4qLi9NHH32kxx57TAcPHtQDDzzg87xKw6fgZFmWXnnlFa1evVqpqamSpDp16vgcnE6dOqWHH37YI+HGxMToxRdfLDJWWdUCAAJX7qGPpMIjTeeHJkmKiB+g7L3vKe/4JuUeXFJuwemrr77S0aNHNWzYMElSVFSUBg4cqAULFujBBx9UUFCQwsLCNHDgQL3//vs6ffq0qlevLkk6d+6cli9frn79+ikqKkqS9Pe//12nT5/Wp59+qiuuuEKSVK9ePVmWpXHjxmnkyJFq2bKlvf3Y2FiNHj1akuyQEBoaam9DkqpXr67x48frhx9+0HvvvWcHpylTpigsLEzTp0+3t//ss8/q3nvvLfI8vc1rxIgRatiwoXHfDh06pFdeeUWRkZEaMmRIsTWxsbG65557JEnx8fEaPXq0Jk+erCNHjqhu3br2vJxOp958803FxcVJkh577DEdPXpU06ZN0x133KE6deoYz6u0fDpV53K59NZbbyk1NVXNmjWzm++rRx99VFu2bFGtWrXUt29fXXvttcrMzNSTTz6pnTt3lkttWSpwZuncnpnKWPtb1dg3Rhlrf6tze2aW+yFlALhcFeSclCSFVE8sdn1I9XaFdafKbU7z5s1Thw4d7NNOkjR8+HAdPnxYGzZssJcNGTJETqdTS5cutZctX75c586d8wgOn332mTp27GiHE7fu3btLkjZu3OixvE+f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9lh9+/b1qOvVq5e1c+fOImMGQm0g4OJwP8vMzNRtt92m48ePKz4+XgkJCfbRjyuuuELLly9XdHR0RU/TyJkzZ9ShQwdJ0lVXXaXDhw+rXr16WrFiRZFay7I0bNgwfffdd6pRo4batWunw4cPa9euXYqIiNBHH32kRo0aBUytv7z55pv6+9//rmrVqumqq65StWrVlJycrKNHjyooKEjvvfeeOnXqZNc/++yzmj9/vqKiotSpUyedOXNGW7dutce68cYbA6rWX6677jrl5OSoSZMmql+/vtLT0/X999/L6XRqwIABmjx5sl373nvv6S9/+YtCQ0PVoUMHBQcH67///a+cTqfGjx+v3/3udwFVWxbmzJmj1157TbVr11ZycrK2b9+u8PBwe/2GDRs0evRoWZaldu3aqVq1avrmm2+UmZmpQYMG6a9//WtA1frL7Nmz9cILL6hbt26qUqWKx7oePXpowIAB9ueHDh3S7bffruzsbCUkJCg+Pl7ff/+9Tpw4oTZt2mjevHkKCgoKmFp/mj59uqZOnSpJatasmRo1aqQjR45ox44d+ve//22/xrOzs9W3b18dOXJE9erVU8uWLbVnzx4dOHBAtWrV0qeffmrfpykQagNGRSe3yuatt96yf+tyOp2WZVlWfn6+9cgjj1gJCQnWO++8U9FTNHbu3DnrjTfesPbs2WNZlmV16dKlxCNOa9eutRISEqw77rjDOnv2rL381VdftRISEqynn346oGr9ZcOGDdaXX35p5efn28ucTqf17LPPWgkJCdaECRPs5YcPH7ZatGhhde7c2frpp5/s5cuXL7cSEhKsIUOGBFStP82ZM8dKT0/3WHbw4EGrffv2VmJior3M6XRanTp1slq1amVt2bLFXv7DDz9Ybdq0sa677jorNzc3YGrLwk8//WQlJiZaq1atsu6+++5ijzjdeeedVkJCgrVw4UJ72c8//2x1797dat68uZWamhpQtf7iPuK0fft2r7UTJ04sciQqKyvLGjp0qJWQkGB9/vnnAVXrL3v27LFatmxptWzZ0vroo4881n3zzTf293PrvH4+8MADVl5enmVZluVyuawnn3zSSkhIsGbMmBFQtYEiQE8gXr7WrFkjSXryySfta1wcDoeeeuopSdLnn39eofPzRWRkpMaOHasmTZp4rXU/74cfftjjWpkHH3xQcXFx+uKLLwKq1l+6dOmi7t27y+Fw2MtCQkJ03333SZJycnLs5V9++aUKCgp09913q169evby2267Te3atdP27dt14sSJgKn1p+HDh6tq1aoey+rVq6dq1ap5HDnYtm2b0tLS1Lt3b7Vv395e3qpVKw0cOFBnzpzRli1bAqa2LEycOFG33nqrevXqVez6tLQ0fffdd2revLkGDRpkL69Tp459BMj9WgiE2rJw4sQJff7551q3bp1OnjxZbM2aNWsUFRWlRx55xF4WFRWlRx99VJKKfO+o6Fp/WbBggVwul4YNG+ZxBE6FR37P/35+/s+r0NBQSVJwcLCeeuopBQcHF/v9tSJrAwXByc9+/PFH1a1bVw0aNPBY7l72448/VtjcypL7eXXs2NFjeWhoqNq1a6e0tDT7G1wg1Ja11NRUSVK3bt3sZSXNT5J9Om/Pnj0BU+tvTqdTn3zyiT7++GPNnDlTd911lw4fPqzf//73dk1KSorHXM7nnrO7JhBq/W3+/Pnau3evnn322RJr9u7dK8uyit2H7mXu/RwItWXhwQcf1EMPPaT7779fN9xwg5588kllZmba6zMyMnT8+HG1adNGERERHo+99tprFRISYs8vEGr9yf2GgsGDByszM1Nr167V2rVrdfz48SK1KSkpqlGjRpFfjmvWrKnGjRt7fJ0HQm2g4F11fmRZljIyMnTVVVcVu7527dr66aefZFlWmZzXrkhpaWmKjo4u9p1ZtWvXtmtq1qwZELVlKT09XZMmTVK7du10xx132MvT0tKkwt/KLza/QKn1t+zsbI0bN87+PDY2Vq+++qp69+5tLwuE511RPTp27Jhefvll/fOf/7zoNR2B8Lwr8usoODhYTZs2Vf369XX8+HHt2LFDS5cu1alTp/T22297nV9oaKji4uKMnkt51frT0aNHFR4erqysLN1yyy32NhwOh4YMGaKJEyfaR3bS0tLUrFmzYsepXbu29uzZo7y8PIWFhQVEbaAgOPlRQUGBLMsq8S2UDodDlmWpoKDA49ROZXCx5+Q+ZelyuQKmtqycPn1a9913nxwOh1577TWP+RQUFEiFXwcXci/Lz88PmFp/Cw0NVd++feVyuXTixAlt375djz/+uLKzs+2A6X6vSnGvIff83PswEGr96bnnnlP//v3VtWvXi9ZdbB8W95qo6Fp/uuaaa7RixQo1bNjQXvbjjz9q9OjR2rBhg7799ltdd911F52fe7nJa6K8av0pPz9fkZGReuSRRxQVFaXExERlZmbqu+++04cffqjo6GiNHz9eKvxav9jPK/d4YWFhAVEbKDhV50cOh0ORkZHKyMgodn16erqioqIqXWiSpJiYGGVlZcnpdBZZl56ebtcESm1ZOHjwoO68804VFBRo9uzZRY5subftnktx83MfaQiEWn+LjIzUlClTNHXqVM2dO1erV6/WlVdeqT/96U86ffq0x/yKew2V9FwqstZfli5dqg0bNujqq6/WJ598Yn+cOnVKkvTpp5/qs88+M57f+a+Jiq71p8TERI/QpMJ3jblP927bts1j28V9nbvnbfKaKK9af4qJiVF6erp69uyp1atXa8aMGZo9e7YWLlyoqKgoffDBB3Zgi4mJuejPq5CQEPtvuAZCbaAgOPlZfHy8UlNTlZWV5bHc/QcEL3zRVxbx8fFyuVzavXt3kXU7d+5UWFiYrrzyyoCp9bft27dr6NChiouL08yZM4u9saN73+/cubPY+Z1fEwi1Za1u3brq27evsrOzlZycLBXuQ0nF3uRw165dHvMLhFp/WbNmjfLy8vTss89q3Lhx9of7+o7x48frueee8zo/9z5033YjEGrLg/sNBu5fmmrVqqWoqCh7f51v3759ys7OtvdhINT6k7vv//d//+fxS3qLFi107bXX6ty5c/YvKvHx8Tp8+HCR4JKXl6e9e/cqPj7evqwkEGoDBcHJzzp27Cin06kPPvjAY/mHH36ovLy8Yi84rQzcz2v27Nkeyzds2KB9+/apQ4cO9os4EGr96YsvvtCoUaPUrFkzvf3220XuL+Pmvmj2/fff9ziNcejQIX355ZeqU6eOfX1cINT6y6lTpzzeXeiWn59vvzstKipKktS+fXuFhITo448/1pkzZ+zarKwsLVq0SA6HQ9ddd13A1PpLu3bt1Ldv3yIf7qOWffr00c033yxJatCggerVq6dNmzZp79699hiWZdlf++7XQiDU+tOhQ4eKLHO5XJo3b550XmgICgpShw4ddPToUftIndusWbM85hcItf7UuXNnSdIPP/zgsTw7O1v79u2Tw+Gwj3R17NhRBQUFmjNnjkftggULdO7cOY/5BUJtoOAGmH62d+9e3X777QoKCtKwYcN0zTXXaMeOHXr//fclScuWLfP7D6ay9NVXX9k/PJ577jlFRkZqwoQJkqTq1avbL9LMzEz7QsR+/frphhtu0OHDh/XOO+8oMzNTr7/+uv2NPxBq/eXTTz/V448/rqpVq+rJJ5/0uEmhJMXFxalLly5S4Q+VwYMHa8eOHerYsaMGDBigzMxMvffeezp69Kgee+wxjR07NmBq/WXFihV6/vnn1bdvXzVq1EjR0dH6+eeftXLlSiUnJ6tevXpatWqVfW3M+PHjtWTJEjVr1kzDhg1TUFCQ5s2bp127dql///76+9//bo8dCLVl6Z577tGmTZuK3ADzrbfe0uTJk1WrVi3dc889qlatmj799FOtX79eLVq00OLFi+3rRgKh1l8SExPVpUsXtWnTRrVr19bx48f18ccfa8+ePapdu7ZWrVpln9ZZu3atxowZo6ioKN1zzz2Kj4/X5s2btWTJElWrVk2rV6+2f8kJhFp/OX36tG699Vbl5eXpt7/9ra6++mqdPXtWS5Ys0a5du9SjRw/NmDFDKry8wH3d4bBhw9SmTRvt3r1bs2bNksvl0pIlS9S8efOAqQ0UBKcyMGfOHL344ov2xYEqvP7pj3/8o+68884KnZuvBg4caJ9GuVDHjh3t35xUGLIefvhhZWdne9SNGjVKzzzzjMeyQKj1h0mTJmnmzJklrm/btq3927AKg/Xdd99d5F5JN954o15//XX73S6BUusP3377rcaMGVPk9LUKT9dNnz5dV199tb0sPT1do0aNKnLKtVmzZkVOgwZCbVkqKTg5nU49/PDDRe6VVKNGDc2cOVNNmzYNqFp/6d+/f7Fv4a9du7Zef/11tW7d2mP53/72N/uddm4RERGaOnVqkb+5GQi1/vLll1/q0UcfLfJ9sGnTpnrnnXfsdz6q8BYYzz33nMcR6ODgYD399NMaNWqUx+MDoTYQEJzKSHJyspYtW6bjx4+rdu3a6t+/f7n9YUd/euWVV3T48OFi1zVp0sTjHjySdPjwYS1evFiHDh1SlSpV1LNnT/uo1IUCofZSLVmyRGvXri1xfcOGDe2b3bmlp6dryZIl2r17t8LCwnT99derT58+xZ7HD4Raf8jMzNSqVauUnJys9PR0xcXFqW3bturZs2eRe9yo8PqGjz76SN9//70sy1KbNm10xx13FDmiFyi1ZeWNN95QSkqKXn755SKB1rIsrV69Whs3blRubq6aNm2qQYMGKS4ursg4gVDrD5Zl2e+eO3r0qKKjo9W6dWv17t3bPt17oW+++UarV69WRkaGGjRooIEDBxa5z14g1frLkSNHtGTJEh08eFBhYWFq3769+vbtW+y701JSUrRs2TIdO3ZMNWrUUL9+/dSqVatixw2E2opGcAIAADDExeEAAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACGCE4AAACG/j9BQxJHUyqgBQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = common.fig_single()\n", "\n", "plotting_data: list[float] = []\n", "axis_data: list[int] = []\n", "\n", "for (_, _, timestep), average_val in average_data.items():\n", " plotting_data.append(average_val)\n", " axis_data.append(int(timestep))\n", "ax.plot(axis_data, plotting_data, **common.markers.sim(shape=\"o\"), label=\"Average Rho\")\n", "ax.legend()\n", "plt.tight_layout()\n", "plt.show(fig)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "It can be seen that the average density quickly stabilizes after certain simulation time." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:41.005718Z", "iopub.status.busy": "2026-06-29T17:41:41.005645Z", "iopub.status.idle": "2026-06-29T17:41:41.213089Z", "shell.execute_reply": "2026-06-29T17:41:41.212800Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[0m\u001b[33m2026-06-29 14:41:41.043 ( 0.810s) [ 7FC31DAF2740]vtkXOpenGLRenderWindow.:1460 WARN| bad X server connection. DISPLAY=\u001b[0m\n" ] }, { "data": { "image/jpeg": "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db8MeILzUrQXE2oXc9o7P1jjVgRs9DnnPqB6V0fgPWb7wzrj/D3xHMXngXfpF6/Au7cdF/3lA6egI7AnutE0DTPDlk9npNt9nt3laZk8xny7dTliTUWt+GNH8RtZvqln50llL51tIsrxvE/qGQg9hxnHA9KAMv4la3DoPw91m5kb95LbtbQL3eSQFVAHfrn6A1b8DaRLoPgbRdMnXbPBaIJV/uuRlh+BJrDbwfq3iPxouseKJrc6Xps7NpWmwZKkg4WaUnq2ACB2/MHvKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqrLqdhBK0U19bRyL1R5VBH4E1ar5u+KFtJdfEPVkj25DRHk/9MlqoxvGT7K5rRp+0qxpt2ufQw1TTz0v7U/9tl/xpf7SsP8An9tv+/q/418/WKlRz6n+VakZrh+tPsd8suS+0e3f2jY/8/tv/wB/V/xo/tGx/wCfy3/7+r/jXjC08UfWn2M3gl3PZP7Rsv8An8t/+/q/40f2hZf8/lv/AN/V/wAa8dFOp/WX2F9TXc9g/tCy/wCfy3/7+r/jR/aFl/z+W/8A39X/ABryAU6n9ZfYX1Ndz13+0LL/AJ+7f/v4P8aX+0LL/n7t/wDv4P8AGvIh0pRR9YfYX1Rdz1z+0LL/AJ+7f/v4P8aPt9n/AM/cH/fwf415JTqPrD7C+qrues/b7P8A5+4P+/g/xo+32f8Az9wf9/B/jXk4paft32F9WXc9X+32f/P3B/38FH2+z/5+4P8Av4K8pFFP277C+rruerfb7P8A5+4P+/go+32f/P3B/wB/BXlYoFHtn2F7Bdz1T7fZ/wDP3B/38FH26z/5+oP+/gry0Uop+28hexXc9R+3Wf8Az9Qf9/BR9us/+fqD/v4K8u70U/a+RPsvM9R+3Wn/AD9Qf9/BR9utP+fqD/v4K8voFP2gvZnqH260/wCfqD/v4KPt1p/z9Qf9/BXmFLT9oLkPT/t1p/z9Qf8AfwUfbrT/AJ+oP+/grzCijnFynp/260/5+oP+/go+3Wn/AD9Qf9/BXmFLT5hWPTvt1p/z9Qf9/BR9utP+fqD/AL+CvMaKdxHp3260/wCfqD/v4KPt1p/z9Qf9/BXmBpKoR6f9utP+fqD/AL+Cj7daf8/UH/fwV5iabTsK56h9us/+fqD/AL+Cj7dZ/wDP1B/38FeXmkp8ornqP26z/wCfqD/v4KPt9n/z9wf9/BXlxpKfIHMepfb7P/n7g/7+Cj7fZ/8AP3B/38FeWGkp8guY9U+32f8Az9wf9/BR9vs/+fuD/v4K8qNJT9mLnPVvt9n/AM/cH/fwf40fb7P/AJ+4P+/g/wAa8opDT9l5h7Q9Y+32X/P3B/38H+NH2+y/5+4P+/g/xryag0/YruL2h6x/aFl/z+W//fwf40f2hZf8/lv/AN/R/jXkhop+wXcPaHrf9oWX/P5b/wDf1f8AGj+0LL/n8t/+/q/415GaYaf1ddxe18j1/wDtGy/5/Lf/AL+r/jR/aNl/z+W//f1f8a8fNJT+rruHtfI9h/tGx/5/Lf8A7+r/AI0f2jY/8/lv/wB/V/xrx2mmn9WXcXtvI9k/tGx/5/bf/v6v+NH9pWP/AD+2/wD39X/GvGTSU/qq7h7byPZv7Ssf+f23/wC/q/40f2lY/wDP7bf9/V/xrxekNP6ou4e28j2n+0rD/n9tv+/q/wCNH9pWH/P7bf8Af1f8a8UNNp/VF3F7byPbf7SsP+f22/7+r/jR/adh/wA/1t/39X/GvETSGn9TXcPb+R7f/adh/wA/1t/39X/Gj+07D/n+tv8Av6v+NeGmkNH1Jdw9u+x7n/aen/8AP9bf9/V/xpP7T0//AJ/rb/v8v+NeFnpTaf1Jdw9v5Hu39qaf/wA/1t/3+X/Gj+1NP/5/rX/v8v8AjXg5ppp/UV/MHt/I96/tTT/+f+1/7/L/AI0f2pp//P8A2v8A3+X/ABrwOmmj6iv5he38j37+1dO/5/7X/v8AL/jR/aunf8/9r/3+X/Gvn802n9QX8we38j6C/tXTv+f+1/7/AC/40f2rp3/P/a/9/l/xr57ppo+oL+YPb+R9C/2rp3/QQtf+/wAv+NH9rad/0ELX/v8AL/jXzwabT/s9fzD9v5H0T/a2m/8AQQtP+/y/40f2tpv/AEELT/v8v+NfOhppo/s9fzB7fyPo3+1tN/6CFp/3+X/Gj+19N/6CFp/3+X/GvnCmmj+z1/MHt/I+kf7X03/oI2n/AH+X/Gj+19M/6CNp/wB/l/xr5rPWm0/7PX8we38j6V/tfTP+gjaf9/1/xo/tfTP+gjaf9/1/xr5oNNNH9nL+YPb+R9M/2xpn/QRtP+/6/wCNH9saZ/0EbT/v+v8AjXzGabR/Zy/mD23kfT39saZ/0EbT/v8Ar/jR/bGmf9BKz/7/AK/418v009KP7OX8we28j6i/tjS/+glZ/wDf9f8AGj+2NL/6CVn/AN/1/wAa+Wqaaf8AZy/m/AftvI+p/wC2dL/6CVn/AN/1/wAaP7Z0v/oJWf8A3/X/ABr5WplH9nL+b8A9t5H1Z/bOl/8AQSs/+/6/40n9s6X/ANBKz/7/AK/418pGmmj+zl/N+A/beR9Zxanp9xKsUN9bSSN0RJVJP4A1ar5u+GH/ACUXSfrL/wCinr6RrixND2MuW9zSEuZXCvBPGEfmfFDWx/sxf+i0r3uvCvE4z8U9c/3Iv/RaVj/y6qen6o6MO7VoepTjj21aQU0LUijFeMe63ckBp4pgp4pmbHg06mCnimQLThTacOlMliilFIOtKKZLFp1Np1MkUUtIKWmSKKKBRVEscKBQKBTJHClFIKUUyWHeijvRVIkWgUUCmiWLS0lLVEMKKKKaJClpKWqRLCiiiqJENJSmkqkIU02nGm1aJA0lKaSqQgNJSmkqhCGkpTSVSEIaSlNJVIkSkNLSGqQhKDRQaYmMNFBoqkIQ0w080w1SEIaQ0ppDVIQlNNOppqgGmkpTSUxDaQ0tIapCGmm0402mIQ0hpTSGqAYaQ0ppDTAaelNpx6U2mgGmmmnGmmqENppp1NNMBpptONNpgNppp1NNMBpptONNpgNNNNONNNMBtNNOppoAYetNpx602mMaaaacaaaYDDTacabQMbTT0p1NPSgBlNNOpppjG0yn0ygBppppxppoGdZ8MP8Akouk/WX/ANFPX0jXzd8MP+Si6T9Zf/RT19I14+YfxV6f5m9L4Qrw3xIM/FTXP+ucX/ouOvcq8O8RDPxV13/rnF/6Ljri/wCXVT0/VHTQ/jR9RmKcBRSgV457lxRTqbTqCWOFPFMFPFMkWlHSkFKOlMljh1pRSDrS0yWLTqbTqZIopaSlpksUUUCiqJY4UCgUCmSOFKKQUopksO9FHeiqRItAooFNEsWlpKWqIYUUUU0SFLSUtUiWFFFFUSIaSlNJVIQpptONNq0SBpKU0lUhAaSlNJVCENJSmkqkIQ0lKaSqRIlIaWkNUhCUGig0xMYaKDRVIQhphp5phqkIQ0hpTSGqQhKaadTTVANNJSmkpiG0hpaQ1SENNNpxptMQhpDSmkNUAw0hpTSGmA09KbTj0ptNANNNNONNNUIbTTTqaaYDTTacabTAbTTTqaaYDTTacabTAaaaacaaaYDaaadTTQAw9abTj1ptMY00004000wGGm0402gY2mnpTqaelADKaadTTTGNplPplADTTTTjTTQM6z4Yf8lF0n6y/wDop6+ka+bvhh/yUXSfrL/6KevpGvHzD+KvT/M3pfCFeHeIv+Sq67/1zi/9Fx17jXh3iL/kquu/9c4v/RcdcX/Lqp6fqjpofxY+otFFFeOe2KKWkFLQJjhThTRThTJHClHSkFKOlMljh1paQdaWmSLTqbTqZItLSUtMliiigUVRLHCgUCgUyRwpRSClFMlh3oo70VSJFoFFApoli0tJS1RDCiiimiQpaSlqkSwoooqiRDSUppKpCFNNpxptWiQNJSmkqkIDSUppKoQhpKU0lUhCGkpTSVSJEpDS0hqkISg0UGmJjDRQaKpCENMNPNMNUhCGkNKaQ1SEJTTTqaaoBppKU0lMQ2kNLSGqQhpptONNpiENIaU0hqgGGkNKaQ0wGnpTacelNpoBppppxppqhDaaadTTTAaabTjTaYDaaadTTTAaabTjTaYDTTTTjTTTAbTTTqaaAGHrTacetNpjGmmmnGmmmAw02nGm0DG009KdTT0oAZTTTqaaYxtMp9MoAaaaacaaaBnWfDD/AJKLpP1l/wDRT19I183fDD/kouk/WX/0U9fSNePmH8Ven+ZvS+EK8O8RHHxV13/rnF/6Ljr3GvDfEhx8VNc/65xf+i464v8Al1U9P1R00P40fUKUGmZpwNeOe5YdTqaKdQSxwp4pgp4pkiilHSkpR0pkscOtLSDrSimSxadTadTJFpaQUtMliiigUVRLHCgUCgUyRwpRSClFMlh3oo70VSJFoFFApoli0tJS1RDCiiimiQpaSlqkSwoooqiRDSUppKpCFNNpxptWiQNJSmkqkIDSUppKoQhpKU0lUhCGkpTSVSJEpDS0hqkISg0UGmJjDRQaKpCENMNPNMNUhCGkNKaQ1SEJTTTqaaoBppKU0lMQ2kNLSGqQhpptONNpiENIaU0hqgGGkNKaQ0wGnpTacelNpoBppppxppqhDaaadTTTAaabTjTaYDaaadTTTAaabTjTaYDTTTTjTTTAbTTTqaaAGHrTacetNpjGmmmnGmmmAw02nGm0DG009KdTT0oAZTTTqaaYxtMp9MoAaaaacaaaBnWfDD/kouk/WX/0U9fSNfN3ww/5KLpP1l/9FPX0jXj5h/FXp/mb0vhCvCvE5x8U9c/3Iv8A0XHXuteCeMJPL+KGtH1WL/0WlcX/AC6qen6o68Or1oeo4NUinNU45N1WkNeMe61YmFPFMAp4pmbHCnimgU6mQLSjpSU6mSxR1pRSClFMli06m06mSKKWkFLTJFFFAoqiWOFAoFApkjhSikFKKZLDvRR3oqkSLQKKBTRLFpaSlqiGFFFFNEhS0lLVIlhRRRVEiGkpTSVSEKabTjTatEgaSlNJVIQGkpTSVQhDSUppKpCENJSmkqkSJSGlpDVIQlBooNMTGGig0VSEIaYaeaYapCENIaU0hqkISmmnU01QDTSUppKYhtIaWkNUhDTTacabTEIaQ0ppDVAMNIaU0hpgNPSm049KbTQDTTTTjTTVCG0006mmmA002nGm0wG0006mmmA002nGm0wGmmmnGmmmAw0hp1NNADD1ptOPWm0xjTTTTjTTTAZTacabQMbTT0p1NPSgBlNNOpppjG0yn0ygBppppxppoGdZ8MP+Si6T9Zf/AEU9fSNfN3ww/wCSi6T9Zf8A0U9fSNePmH8Ven+ZvS+EK+bvihcyWvxD1Z48ZLRDkf8ATJK+kaqzaZYXErSzWNtJI3V3iUk/iRXFGVoyT6qx00ans6sajV7Hz9YsWHPqf5VqRjivbBpenjpYWo/7Yr/hS/2bYf8APlbf9+l/wrh+qvuehLMU/snjK08V7J/Z1j/z5W//AH6X/Cj+zrH/AJ87f/v0v+FH1V9zN41djx0U6vYP7Osv+fO3/wC/S/4Uf2fZf8+dv/36X/Cn9WfcX1xdjyAU6vXf7Psv+fO3/wC/S/4Uf2fZf8+dv/36X/Cn9WfcX1xdjyMdKUV63/Z9l/z6W/8A37H+FL/Z9l/z6W//AH7H+FH1d9xfW12PJKdXrP8AZ9l/z6W//fsf4UfYLP8A59IP+/Y/wo+rvuL60ux5OKWvV/sFn/z6Qf8Afsf4UfYLP/n0g/79j/Cn7B9xfWV2PKRRXq32Cz/59IP+/Yo+wWf/AD6Qf9+xT9g+4vrC7HlYoFeqfYLP/n0g/wC/Yo+wWf8Az6Qf9+xR7F9xe3XY8tFKK9R+wWf/AD6Qf9+xR9hs/wDn1g/79in7HzF7Zdjy7vRXqP2Gz/59YP8Av2KPsNn/AM+sH/fsU/ZeZPtfI8voFeofYbT/AJ9YP+/Yo+w2n/PrB/37FP2YvaHmFLXp32G0/wCfWD/v2KPsNp/z6wf9+xT9mLnPMaK9P+w2n/PrB/37FH2G0/59YP8Av2KOQXMeYUtenfYbT/n1g/79ij7Daf8APrB/37FPlFc8xor077Daf8+sH/fsUfYbT/n1g/79inYR5gaSvUPsNp/z6wf9+xR9htP+fWD/AL9iqEeYGm16h9htP+fWD/v2KPsNp/z6wf8AfsU7iseXmkr1H7DZ/wDPrB/37FH2Gz/59YP+/Yp8wrHlxpK9S+w2f/PrB/37FH2Cz/59IP8Av2KfOHKeWGkr1T7BZ/8APpB/37FH2Cz/AOfSD/v2KfOLlPKjSV6t9gs/+fSD/v2KPsFn/wA+kH/fsU/aC5DyikNesfYLP/n0g/79j/Cj7BZ/8+kH/fsf4U/a+QezPJqDXrP2Cy/59IP+/Y/wo+wWX/PpB/37H+FP2y7C9meRmivW/wCz7L/nzt/+/Y/wo/s+y/587f8A79D/AAp+3XYPZnkZphr1/wDs+y/587f/AL9L/hR/Z9l/z52//fpf8Kf1hdhey8zx80hr2H+zrL/nzt/+/S/4Uf2dZf8APnb/APfpf8Kf1hdg9l5njtNNeyf2dY/8+dv/AN+l/wAKP7Osf+fO3/79L/hT+srsL2PmeMmkr2f+zrH/AJ8rf/v0v+FH9m2P/Plb/wDfpf8ACn9aXYPY+Z4tSGvaf7Nsf+fK3/79L/hR/Ztj/wA+Vt/36X/Cn9bXYPY+Z4qaZXtv9m2H/Plbf9+l/wAKP7NsP+fK2/79L/hT+trsL2PmeImkNe3/ANm2H/Plbf8Afpf8KP7MsP8Anxtv+/S/4U/ri7B7DzPDTSGvc/7MsP8Anxtv+/S/4Uf2ZYf8+Nt/36X/AAo+ursHsH3PCj0pte7/ANmaf/z423/fpf8ACk/szT/+fG2/78r/AIU/rq7B7DzPBzTTXvX9l6f/AM+Nt/35X/Cj+y9P/wCfG1/78r/hT+vL+UPYeZ4HTTXv39l6f/z4Wv8A35X/AAo/svT/APnwtf8Avyv+FH15fyi9h5nz+abX0F/ZWnf8+Fr/AN+V/wAKP7K07/nwtf8Avyv+FP6+v5Q9h5nz3TTX0N/ZWnf8+Fr/AN+V/wAKP7K07/nwtf8Avyv+FH19fyh7DzPnc02von+ytO/6B9r/AN+V/wAKP7J07/oH2v8A35X/AAp/2gv5R+w8z50NNNfRv9k6b/0D7T/vyv8AhR/ZOm/9A+0/78r/AIUf2gv5Q9h5nzhTTX0j/ZOm/wDQPtP+/K/4Uf2Rpv8A0D7T/vyv+FH9oL+UPYeZ81nrTa+lv7I03/oHWn/flf8ACj+yNM/6B1p/35X/AAp/2gv5Q9h5nzOaaa+mf7I0z/oHWn/fhf8ACj+yNM/6B1p/34X/AAo/tFfyh7DzPmM02vp7+x9M/wCgdaf9+F/wo/sfTP8AoHWn/fhf8KP7RX8oex8z5fpp6V9Rf2Ppn/QOtP8Avwv+FH9j6Z/0DrP/AL8L/hR/aK/lD2PmfLVNNfU/9j6X/wBA2z/78L/hR/Y+l/8AQNs/+/C/4U/7RX8v4j9j5nytTK+rP7G0v/oG2f8A34X/AAo/sbS/+gbZ/wDfhf8ACj+0V/L+Iex8z5RNNNfWH9jaX/0DbP8A78L/AIUn9jaX/wBA2z/78L/hR/aK/l/EfsfM+fPhh/yUXSfrL/6KevpGqsWmafbyrLDY20ci9HSJQR+IFWq4sTX9tLmtY0hHlVgooornKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKgvbyDTrC4vbqTy7e3iaaV8E7UUZJwOTwD0oAnoqOCaO5t454m3RyKHRsYyCMg1JQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVk+I9dHhzSZdSk069vYIVZ5haCMtGiqWLne68ADtk+1aVvMtzbRToCFkQOAeuCM0ASUVz2oeLraz1SfTrXTdT1O4tgrXIsYA4g3DIDFmAyRztGTjHHNNm8baSun6fdWi3V++obvsttawlpn2ffypxt2nhtxGDx1oA6OisnRfENrrbXMMcNza3lqVFxaXUeyWPcMqSASCDg4IJBwfStagAooooAKKKKACiiigAooooAKKKxPEPiRPDi28txpt9cW0siRvPbi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", "image/png": "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oS5dunTu3Pmmm26Kjo4+cuRIjx49atasuWrVqv/85z8VKlSYN29eXFycECIjI+P++++fOXNmt27d6tatm56e/uuvv44YMaJnz57/+c9/ClLPAOcCARYAFApVqlQ5efLk2rVrS5YsKYT+z6NHj/7111+VKlWSx79169Z//etf/fv379GjhxCiX79+gwYNWrJkSfXq1VUHfffdd23atPn555+bN2+uEgFYMUUIAIVFhw4dZHQldejQQUVXQoiqVavef//9c+bMEUJkZWUNHDiwX79+xuhKCNG6detWrVp9+OGHvioABEGABQCFRfny5Y2HWqFCBeM/5bDWzp07hRAbN248fvx4gwYNTBmEEA0aNPjrr7+s6QCMCLAAoLAIC8v2mR8VFWU68iJFiqSnpwshIiIihBC2F+lGRkZmZmaaCgIwyfbLBgCAEOLyyy8vXry4nC40mT9/fu3atU2JAEwIsAAAZh6P56WXXurXr9+mTZuM22bNmjV27NjnnnvOmAjASh8EBgDApHfv3kuWLKldu/YLL7xwyy23aJo2c+bMzz//vHPnzq1btzZlBmBCgAUAsBEeHj5lypTRo0d/++23w4cPz8rKql279sSJE1u2bGmTG0B2rIMFAADgMq7BAnyWLFni8Rs9erQ/2d5vv/12zz33lC1btmLFiu3bt1+4cKExn/PWwszFTp4xY0aDBg0SEhIqVKjQrl27LVu2FOaONXKxk1NSUlq2bJmYmFi1atVXX3319OnTxh0VWi72cMuWLf2fOj4jRowotB1r5GInS0eOHCldurRcRPf8IMACfGrWrLnYq0iRIv40e1988cVdd92VmJj40UcfDRo0KCIiomHDhhMnTpS5nbcWcm518sSJE+++++5y5coNGzZs0KBBhw4duvbaa9euXVvIu1dyq5NPnz7dpEmTU6dOjR49+vXXX//666+7d+9ODwvhWg8LIdasWdO7d2/5ySPdc889dLK7nSz16dMnIiLizTffPH/dqwHIrlixYqNGjcqeFnD48OH4+Pg+ffoEkjTt5ZdfTkhIOH78uPNWY5FCLj+dfObMmcsuu+zpp59WfZiVldWwYcNGjRqpFGhavjpZ07SJEyfGxsYePXpUdubYsWPDw8NPnTpF3yr5OY01TTt58mRYWNjs2bNVhbDKZydLycnJYWFh48aNs9Z/7hBgAWbOv89TpkyJiIhQ3zrSwYMHhRBTvBy2mvdUiOWnkxctWiSE2Lx5s7H/xowZExMTk5GRYUws5PLTyZqm/fzzz3379lV9KFdv37p1q0pBPns4OTlZCLFnzx560kE+O1nT9D/Abr755saNGzvs5VzgLkIgd3bs2HHppZcWL17cWCwxMTE+Pn7fvn1nzpxx2GosAgfOnVy2bNlWrVqZHvMSExOTnp5+/PjxhIQEh5qhOHeyEKK5l8r/ww8/lChRonLlyioFznLs4TVr1sTHx5cuXfrvv//2eDymUxqhyLGThRDDhg3766+/lixZsmXLlqpVq3o8nlBqzj+uwQJy59ixY3FxcdYy8fHxJ06ccN5qLQVbzt14/fXXT5482fSYlylTplSpUoXoKnTOnazqSU9Pf+211+677763337766+/Pm9fTgVAjj28Zs0aj8dz1VVXVapUqWLFimXLluUK99zKsZNTU1NfeeUVj8dz0003XXHFFfLaWdtnQLmOAAvINdvvGPWUN+etCFGuunHWrFnDhw9/4403QqwcUiidnJWVtXr16m3btgkhVq5cSdflinMPr127Ni0trXPnztu3b9+5c+eLL77YuXPngQMH5moXcO7kHj16nDp16v33309JSdm9e/dbb7312muv9e3b9zz0G1OEAP7ZkpOTW7duneT1zz6Si1LRokV/+OEHIcSkSZMefPDBEiVKdOvW7aJs6T/Pm2+++fLLL9erV082vVevXkWLFu3Vq9dDDz1UtmzZf97xXHw2btw4cuTIb7/9tmPHjrJ13bp1i4uLe/rppzt16nSu57sZwQJyLSsry1pGJaoXRraJcGDbY9bE5OTkxo0bN2zYcOjQoQ61wZa1P4WwTxRCPPDAA126dBk0aJBtVbDl3MPXXXediq6kzp07Z2ZmLliwwLY22HLo5N9//z0+Pl5FV9Kjjz4aGRl5HjqZAAvIneLFix85csRa5tixYwkJCc5braVgK8RuXLZsWZMmTRo2bChXELCtCsE4d/Lq1as//fRTU9k777wzJSXlzJkzpnTYcu7hFStWTJs2zVQwMjKybNmy27dvN6UjGOdO/vvvvy+77DJT2bCwsLJly+7atcuU7joCLCB3ypcvn5qaevjwYWOxQ4cOHT16tFy5cs5bjUXgIJRu/Ouvvxo3btygQYNx48ZFRkY61AZbzp38999/P//888ePHzeW3bdv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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pyvista as pv\n", "\n", "array_to_inspect = \"rho\"\n", "\n", "plotter = pv.Plotter(window_size=(800, 400))\n", "\n", "time_step = macr_export.time_steps(sim_cfg.n_steps)[-1]\n", "xdmf_reader = pv.get_reader(str(macr_export.xdmf_filename))\n", "xdmf_reader.set_active_time_value(float(time_step))\n", "mesh = xdmf_reader.read()\n", "mesh.set_active_scalars(array_to_inspect)\n", "plotter.add_mesh(mesh, cmap=\"coolwarm\")\n", "\n", "plot_title = (\n", " f\"{array_to_inspect} profile Poiseuille (Velocity-Neumann)\\n\"\n", " f\"({sim_cfg.models.LBM.vel_set} {sim_cfg.models.LBM.coll_oper})\"\n", ")\n", "plotter.add_text(plot_title, position=\"upper_right\", font_size=18, color=\"black\")\n", "plotter.camera_position = [(128.0, 16.0, 499.40275054596606), (128.0, 16.0, 1.0), (0.0, 1.0, 0.0)]\n", "plotter.camera.zoom(2)\n", "plotter.show(jupyter_backend=\"static\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "The pressure profile of the current flow is shown above. Shortly after the inlet, the pressure decays linearly over $x$-direction." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:41.214058Z", "iopub.status.busy": "2026-06-29T17:41:41.213966Z", "iopub.status.idle": "2026-06-29T17:41:41.265626Z", "shell.execute_reply": "2026-06-29T17:41:41.265273Z" } }, "outputs": [ { "data": { "image/png": "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6BGmTJlicNt/xYoVARPF9zqhoaEG7b300ktFXnezZs3w/fffQy6XY8eOHRYFT0TPOgZORM8w3S9Uc6bVzKGrXXF2dkZgYKDJY65evYqRI0fi4cOH+N///odhw4aZPM7JyUm/KOW5c+eKfW+VSqW/W6thw4YG+2QyGYYPH47t27fj4sWLuHz5MrZv344uXbrgwoULQH6mpyQcHBzg4OAAV1dXhISE4Mcff0T9+vURExODJUuW2PxcBwcHODk5ISAgAK+++iqmT58OAFi0aJH+WN203v379xEfH19se+Zk3l544QV98LR9+3azgifd95nu+47oWcTAiegZpqsJKpgpKilBELB582YAQIsWLUwWC1+4cAGjRo1CSkoKZs2aZbKupiBdgfPOnTuLzMAgfxmClJQUODo64sUXXzS7z7oVzVu3bm3WOcWRy+WYNm0aAGDjxo0GSyPY8lwdXZCUnJysz9SFhITo65s2bNhgcZuFeTJ4+uSTT4oMnpKTkwELataInkYMnIieYSEhIZDJZLh165bZyweYotVq8eWXX+ozTrrVpws6c+YMXnvtNaSnp+PTTz/FkCFDim03LCwMzs7OSEpKwowZMwzqeQq6efOm/m60ESNGmF3svm7dOty6dQsODg5mPcrEXM899xxatmwJpVJp0ZpWpT0X+Xe86ejulHRwcMDYsWMBAKtXr8bx48ctbrcwBYOnbdu2FRk8Xb16Fchfu4voWcXAiegZ5u7ujnr16iE3N9fgF645cnJyEBUVhR07dmDw4MFYuXIlAGD48OFo06aNwbGnTp3CuHHjkJOTg3nz5mHQoEFmvYefnx9mzpwJAPj1118xfPhwnDhxAhkZGdBoNIiNjcWKFSswdOhQpKamolWrVvjggw+M2nnttddw4MAB3L9/HxqNBjExMfjyyy+xYMECAMCbb76J6tWrW3T9xXn77bcBANu2bSu0tsha52q1Wjx48AC//PIL5s+fD+QHxQUfnDxq1Ci0a9cOarUa77zzDj766CP8/fffSE1NhSAIUCqViIqKwrJly8yaGi3oyeBp5syZJoOnixcvAvkZSaJnFZcjIHrGde/eHVeuXMHJkycREhJS6HEFb4EXBMHojiu5XI4JEyZg3LhxRud+//33yMnJAQB88skn+OSTT0y+x4wZMzB8+HCDbQMGDIBWq8Wnn36K8+fP44033jA6TyKRYODAgfjoo49Mrkd14cIF/PXXXybfc8iQISYfiFtabdu2RZMmTXDx4kWsXLkSH374odXOfXI5gie/Hl5eXpg7d67BOVKpFD/88ANmzZqFnTt3YteuXdi1axeQP35PBjq9evUqdiq1IF3wNH78eGzduhUAMGfOHH29VEpKCi5fvgw/Pz+Ehoaa3S7R04YZJ6Jn3IABA+Do6Ii9e/cWe6zuNnVBEODm5obAwEB06dIF06dPx4kTJ/Dmm2+aXNOn4C9lU7e9F2zXlEGDBuHw4cMYM2YMFAqF0d1vQ4YMwbx58wpdXXzNmjV4+eWXERAQAJlMBm9vb3Tu3BmrVq3C7NmzS7QMgTl0maPNmzdbfAt+cec+uWyAs7MzFAoFxo4di/3795tcCd7JyQkLFizArl27MGzYMNSpU0e/bpWHhwcaNGiAUaNGYe/evVi0aJHFRdwFM09bt241yDwdPHgQKpUKAwYMgEwms6hdoqeJROA9pkTPvClTpmDPnj3Ytm2byfWU1Gq1wWuZTGZRsFFUUFTSdjUaDTZv3ow5c+ZAJpPh559/NmuFcWtRq9WQSCTFBgG6sSt4baU990lSqdTsRShLQ6vVQqvVFvt+uuOQX1+F/OD28uXLOHLkCKpWrWrzvhKVFWaciMqBd999F46Ojvjxxx9N7i94q7q5t6sXJJPJjNow9Z8l7eqWGOjfvz80Gg3ee+89u65I7eDgYFbmxNS1lfbcJ/+zR9CE/ADNnPfTHacLmk6fPo3z589jxIgRDJromcfAiagcCAwMxIgRI3Ds2DGrPuzWHmbNmoWGDRviwYMHmDx5ssmMDJWt7777Dp6eniYf30L0rOFUHVE5oXvshqXTcGKg6zsKTA2ReGg0GkgkErtlxojKEgMnIiIiIjPxzwMiIiIiMzFwIiIiIjITiwUs8ODBAxw6dAjBwcFwcXEp6+4QERGRFWRnZyM6OhrdunXTP/exMAycLHDo0CGMGDGirLtBRERENrB+/Xqjpxs8iYGTBYKDg4H8ga1fv75V29ZoNIiIiIBCoeCquzbGsbYvjrd9cbzth2NtX7Yc72vXrmHEiBH63/NFYeBkAd30XP369dGsWTOrtq3RaCCVShEaGsofQBvjWNsXx9u+ON72w7G2L3uMtzllOCwOJyIiIjITAyciIiIiMzFwIiIiIjITAyciIiIiM5WqOFyr1Zb62UTFtZGbm2tyu0QigVwuL/Q8QRCKfB5XSdslIiKi8sviwEkQBGzcuBFr165FTEwMXF1d0bFjR0ydOhV+fn5WbSMtLQ0tW7Y02UblypVx6tQp/evk5GTs2bMHBw8exK1bt5Cbmwt/f3/07NkTr732GipUqFCidomIiIh0LA6clixZgh9++AEAIJVKkZGRgX379uHixYvYsWMHPD09rd6GTCYzuvXQycnJ4PXXX3+NLVu26F9LJBJER0fjhx9+wK+//ort27fD3d3d4naJiIiIdCyaZ4uNjcWyZcvg6uqKH374AVeuXMEff/yBF154AXfv3sWKFSts0sbw4cMRHh5u8N+xY8cMjqlUqRJGjx6NLVu24OzZs7h06RJWr16NqlWrIioqCr/88kuJ2iUiIiLSsShwOnjwINRqNd5++2107twZUqkUfn5+WLhwIVxdXbFnzx6btqHVagvdN2nSJEybNg2hoaHw8PCAXC5HmzZt8NFHHwEA7t27V6J2iYiIiHQsCpwuX74MAOjcubPB9goVKqBVq1a4f/8+Hjx4YPU2Dh8+jObNm6Nhw4bo0qULFi1ahKysLLP6rCv0rl27ttG+0rRLRERE5Y9FNU73798HAAQFBRntq169uv6Yop4sXJI27t+/D4lEAkEQcPfuXfz00084efIk1q9fD1dX10LfS6VS4aeffkJwcDD69Oljsi8laTc9PR2pqan613K5vNR34mk0GoP/k+1wrO2L421fHG/74Vjbly3H25I2LQqclEolHB0d4eBgfJru+S45OTlWa0MikaBv374YPnw46tatC7VajTNnzuCzzz7DlStXsHbtWrz11lsm30elUuGDDz5AdHQ01q1bZxDYlKZdAAgLC4Ozs7P+df/+/TFw4MAir9tc4eHhVmmHisexti+Ot31xvO2HY21fthjviIgIs4+1KHBydnaGSqWCSqWCo6OjwT7dFFdxD8izpA0PDw988cUXBsd06tQJQUFB6NmzJ37//XeTAU5mZiYmTZqEq1evYs2aNVAoFAb7S9quztq1axEaGqp/ba2MU3h4OEJCQviwSBvjWNsXx9u+ON72w7G2L1uOtyW1zhYFTlWqVAEAREdHo06dOgb7oqKiAABVq1a1eRu1atWCu7s7Hj16ZLQvKSkJb775Jh48eID169ejZs2aZl1bce0W5OHhYdayCyVhaokEsg2O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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = common.fig_single()\n", "\n", "num_data = profile_data[(sim_cfg.sim_id, sim_cfg.name)]\n", "position_vector = (num_data[\"pos\"][:, 0] - 0.5) / (sim_cfg.domain.domain_size.x - 1)\n", "ax.plot(position_vector, num_data[\"data\"], **common.markers.sim_line())\n", "\n", "ax.set_title(\n", " f\"Ux profile Poiseuille (Velocity-Neumann)\\n({sim_cfg.models.LBM.vel_set} {sim_cfg.models.LBM.coll_oper})\"\n", ")\n", "plt.tight_layout()\n", "plt.show(fig)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "The centerline velocity is shown in the plot above, in which a strong acceleration can be seen close to inlet. After that, the velocity seems to increase almost linearly at very slow rate until the outlet.\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Version" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:41.266556Z", "iopub.status.busy": "2026-06-29T17:41:41.266469Z", "iopub.status.idle": "2026-06-29T17:41:41.290290Z", "shell.execute_reply": "2026-06-29T17:41:41.290067Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Version:" ] }, { "name": "stdout", "output_type": "stream", "text": [ " " ] }, { "name": "stdout", "output_type": "stream", "text": [ "2.0.1a0" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Commit hash:" ] }, { "name": "stdout", "output_type": "stream", "text": [ " " ] }, { "name": "stdout", "output_type": "stream", "text": [ "393bce29ecf6abfa9bb7b9a302e957a62556cbcc" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "sim_info = sim_cfg.output.read_info()\n", "\n", "nassu_commit = sim_info[\"commit\"]\n", "nassu_version = sim_info[\"version\"]\n", "print(\"Version:\", nassu_version)\n", "print(\"Commit hash:\", nassu_commit)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Configuration" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2026-06-29T17:41:41.291022Z", "iopub.status.busy": "2026-06-29T17:41:41.290952Z", "iopub.status.idle": "2026-06-29T17:41:41.327857Z", "shell.execute_reply": "2026-06-29T17:41:41.327567Z" } }, "outputs": [ { "data": { "text/html": [ "
simulations:\n",
       "  - name: periodicPoiseuilleChannel\n",
       "    save_path: ./validation/analytical/02_poiseuille_channel_flow/results/periodic\n",
       "\n",
       "    n_steps: !unroll [250, 1000, 4000, 16000]\n",
       "\n",
       "    report:\n",
       "      frequency: 1000\n",
       "\n",
       "    domain:\n",
       "      domain_size:\n",
       "        x: !unroll [4, 8, 16, 32]\n",
       "        y: !unroll [4, 8, 16, 32]\n",
       "      block_size: !unroll [4, 8, 8, 8]\n",
       "\n",
       "    data:\n",
       "      exports:\n",
       "        default:\n",
       "          macrs: [rho, u]\n",
       "          interval:\n",
       "            frequency: 0\n",
       "            lvl: 0\n",
       "          target:\n",
       "            volume: {}\n",
       "          outputs:\n",
       "            instantaneous: true\n",
       "\n",
       "    models:\n",
       "      precision:\n",
       "        default: single\n",
       "\n",
       "      LBM:\n",
       "        tau: 0.9\n",
       "        vel_set: D2Q9\n",
       "        coll_oper: RRBGK\n",
       "        F:\n",
       "          # FX is divided by 8\n",
       "          x: !unroll [4.0e-4, 5.0e-5, 6.25e-6, 7.8125e-07]\n",
       "          y: 0\n",
       "\n",
       "      multiblock:\n",
       "        overlap_F2C: 1\n",
       "\n",
       "      engine:\n",
       "        name: CUDA\n",
       "\n",
       "      BC:\n",
       "        periodic_dims: [true, false]\n",
       "        BC_map:\n",
       "          - pos: N\n",
       "            BC: HWBB\n",
       "            wall_normal: N\n",
       "\n",
       "          - pos: S\n",
       "            BC: HWBB\n",
       "            wall_normal: S\n",
       "\n",
       "  - name: regularizedPeriodicPoiseuilleChannel\n",
       "    parent: periodicPoiseuilleChannel\n",
       "\n",
       "    models:\n",
       "      LBM:\n",
       "        coll_oper: RRBGK\n",
       "\n",
       "      BC:\n",
       "        periodic_dims: [true, false]\n",
       "        BC_map:\n",
       "          - pos: N\n",
       "            BC: RegularizedHWBB\n",
       "            wall_normal: N\n",
       "\n",
       "          - pos: S\n",
       "            BC: RegularizedHWBB\n",
       "            wall_normal: S\n",
       "\n",
       "  - name: velocityNeumannPoiseuilleChannel\n",
       "    parent: periodicPoiseuilleChannel\n",
       "\n",
       "    save_path: ./validation/analytical/02_poiseuille_channel_flow/results/velocity_neumann\n",
       "\n",
       "    report: {frequency: 1000}\n",
       "\n",
       "    n_steps: 64000\n",
       "    domain:\n",
       "      domain_size:\n",
       "        x: 256\n",
       "        y: 32\n",
       "      block_size: 8\n",
       "\n",
       "    data:\n",
       "      exports:\n",
       "        default:\n",
       "          macrs: [rho, u]\n",
       "          interval:\n",
       "            frequency: 16000\n",
       "            lvl: 0\n",
       "          target:\n",
       "            volume: {}\n",
       "          outputs:\n",
       "            instantaneous: true\n",
       "\n",
       "    models:\n",
       "      LBM: !not-inherit\n",
       "        tau: 0.9\n",
       "        vel_set: D2Q9\n",
       "        coll_oper: RRBGK\n",
       "\n",
       "      BC:\n",
       "        periodic_dims: [false, false]\n",
       "        BC_map:\n",
       "          - pos: W\n",
       "            BC: UniformFlow\n",
       "            wall_normal: W\n",
       "            rho: 1.0\n",
       "            ux: 0.05\n",
       "            uy: 0\n",
       "            uz: 0\n",
       "            order: 1\n",
       "\n",
       "          - pos: E\n",
       "            BC: RegularizedNeumannOutlet\n",
       "            rho: 1.0\n",
       "            wall_normal: E\n",
       "            order: 1\n",
       "\n",
       "          - pos: N\n",
       "            BC: RegularizedHWBB\n",
       "            wall_normal: N\n",
       "            order: 0\n",
       "\n",
       "          - pos: S\n",
       "            BC: RegularizedHWBB\n",
       "            wall_normal: S\n",
       "            order: 0\n",
       "\n",
       "  - name: velocityNeumannPoiseuilleChannelMultilevel\n",
       "    parent: periodicPoiseuilleChannel\n",
       "\n",
       "    save_path: ./validation/analytical/02_poiseuille_channel_flow/results/multilevel\n",
       "\n",
       "    n_steps: 64000\n",
       "\n",
       "    domain:\n",
       "      domain_size:\n",
       "        x: 96\n",
       "        y: 24\n",
       "      block_size: 8\n",
       "      refinement:\n",
       "        static:\n",
       "          default:\n",
       "            volumes_refine:\n",
       "              - {start: [0, 0], end: [8, 8], lvl: 1, is_abs: true}\n",
       "              - {start: [0, 16], end: [8, 24], lvl: 1, is_abs: true}\n",
       "              - {start: [8, 8], end: [24, 16], lvl: 1, is_abs: true}\n",
       "              - {start: [16, 0], end: [32, 8], lvl: 1, is_abs: true}\n",
       "              - {start: [24, 16], end: [48, 24], lvl: 1, is_abs: true}\n",
       "              - {start: [40, 8], end: [48, 16], lvl: 1, is_abs: true}\n",
       "              - {start: [56, 0], end: [72, 8], lvl: 1, is_abs: true}\n",
       "              - {start: [80, 8], end: [88, 16], lvl: 1, is_abs: true}\n",
       "              - {start: [88, 16], end: [96, 24], lvl: 1, is_abs: true}\n",
       "\n",
       "    data:\n",
       "      exports:\n",
       "        default:\n",
       "          macrs: [rho, u, S]\n",
       "          interval:\n",
       "            frequency: 12000\n",
       "            lvl: 0\n",
       "          target:\n",
       "            volume: {}\n",
       "          outputs:\n",
       "            instantaneous: true\n",
       "\n",
       "    models:\n",
       "      precision:\n",
       "        default: single\n",
       "\n",
       "      LBM: !not-inherit\n",
       "        tau: 0.8\n",
       "        vel_set: D2Q9\n",
       "        coll_oper: RRBGK\n",
       "\n",
       "      engine:\n",
       "        name: CUDA\n",
       "\n",
       "      BC:\n",
       "        periodic_dims: [false, false, true]\n",
       "        BC_map:\n",
       "          - pos: W\n",
       "            BC: UniformFlow\n",
       "            rho: 1.0\n",
       "            ux: 0.05\n",
       "            uy: 0\n",
       "            uz: 0\n",
       "            order: 1\n",
       "\n",
       "          - pos: E\n",
       "            BC: RegularizedNeumannOutlet\n",
       "            rho: 1.0\n",
       "            wall_normal: E\n",
       "            order: 1\n",
       "\n",
       "          - pos: N\n",
       "            BC: RegularizedHWBB\n",
       "            wall_normal: N\n",
       "            order: 0\n",
       "\n",
       "          - pos: S\n",
       "            BC: RegularizedHWBB\n",
       "            wall_normal: S\n",
       "            order: 0\n",
       "
\n" ], "text/latex": [ "\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n", "\\PY{n+nt}{simulations}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{periodicPoiseuilleChannel}\n", "\\PY{+w}{ }\\PY{n+nt}{save\\PYZus{}path}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{./validation/analytical/02\\PYZus{}poiseuille\\PYZus{}channel\\PYZus{}flow/results/periodic}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{n\\PYZus{}steps}\\PY{p}{:}\\PY{+w}{ }\\PY{k+kt}{!unroll}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{250}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{1000}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{4000}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16000}\\PY{p+pIndicator}{]}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{report}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{frequency}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1000}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{domain}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{domain\\PYZus{}size}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{x}\\PY{p}{:}\\PY{+w}{ }\\PY{k+kt}{!unroll}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{4}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{32}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{y}\\PY{p}{:}\\PY{+w}{ }\\PY{k+kt}{!unroll}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{4}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{32}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{block\\PYZus{}size}\\PY{p}{:}\\PY{+w}{ }\\PY{k+kt}{!unroll}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{4}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{]}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{data}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{exports}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{default}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{macrs}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{rho}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{u}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{interval}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{frequency}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{target}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{volume}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{n+nt}{outputs}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{instantaneous}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{true}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{models}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{precision}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{default}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{single}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{LBM}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{tau}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0.9}\n", "\\PY{+w}{ }\\PY{n+nt}{vel\\PYZus{}set}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{D2Q9}\n", "\\PY{+w}{ }\\PY{n+nt}{coll\\PYZus{}oper}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RRBGK}\n", "\\PY{+w}{ }\\PY{n+nt}{F}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{c+c1}{\\PYZsh{} FX is divided by 8}\n", "\\PY{+w}{ }\\PY{n+nt}{x}\\PY{p}{:}\\PY{+w}{ }\\PY{k+kt}{!unroll}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{4.0e\\PYZhy{}4}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{5.0e\\PYZhy{}5}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{6.25e\\PYZhy{}6}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{7.8125e\\PYZhy{}07}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{y}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{multiblock}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{overlap\\PYZus{}F2C}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{engine}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{CUDA}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{periodic\\PYZus{}dims}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{true}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{false}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{BC\\PYZus{}map}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{HWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{HWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{regularizedPeriodicPoiseuilleChannel}\n", "\\PY{+w}{ }\\PY{n+nt}{parent}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{periodicPoiseuilleChannel}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{models}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{LBM}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{coll\\PYZus{}oper}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RRBGK}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{periodic\\PYZus{}dims}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{true}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{false}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{BC\\PYZus{}map}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedHWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedHWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{velocityNeumannPoiseuilleChannel}\n", "\\PY{+w}{ }\\PY{n+nt}{parent}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{periodicPoiseuilleChannel}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{save\\PYZus{}path}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{./validation/analytical/02\\PYZus{}poiseuille\\PYZus{}channel\\PYZus{}flow/results/velocity\\PYZus{}neumann}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{report}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{frequency}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1000}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{n\\PYZus{}steps}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{64000}\n", "\\PY{+w}{ }\\PY{n+nt}{domain}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{domain\\PYZus{}size}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{x}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{256}\n", "\\PY{+w}{ }\\PY{n+nt}{y}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{32}\n", "\\PY{+w}{ }\\PY{n+nt}{block\\PYZus{}size}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{8}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{data}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{exports}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{default}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{macrs}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{rho}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{u}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{interval}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{frequency}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{16000}\n", "\\PY{+w}{ }\\PY{n+nt}{lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{target}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{volume}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{n+nt}{outputs}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{instantaneous}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{true}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{models}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{LBM}\\PY{p}{:}\\PY{+w}{ }\\PY{k+kt}{!not\\PYZhy{}inherit}\n", "\\PY{+w}{ }\\PY{n+nt}{tau}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0.9}\n", "\\PY{+w}{ }\\PY{n+nt}{vel\\PYZus{}set}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{D2Q9}\n", "\\PY{+w}{ }\\PY{n+nt}{coll\\PYZus{}oper}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RRBGK}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{periodic\\PYZus{}dims}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{false}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{false}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{BC\\PYZus{}map}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{W}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{UniformFlow}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{W}\n", "\\PY{+w}{ }\\PY{n+nt}{rho}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1.0}\n", "\\PY{+w}{ }\\PY{n+nt}{ux}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0.05}\n", "\\PY{+w}{ }\\PY{n+nt}{uy}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{uz}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{E}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedNeumannOutlet}\n", "\\PY{+w}{ }\\PY{n+nt}{rho}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1.0}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{E}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedHWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedHWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{velocityNeumannPoiseuilleChannelMultilevel}\n", "\\PY{+w}{ }\\PY{n+nt}{parent}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{periodicPoiseuilleChannel}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{save\\PYZus{}path}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{./validation/analytical/02\\PYZus{}poiseuille\\PYZus{}channel\\PYZus{}flow/results/multilevel}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{n\\PYZus{}steps}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{64000}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{domain}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{domain\\PYZus{}size}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{x}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{96}\n", "\\PY{+w}{ }\\PY{n+nt}{y}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{24}\n", "\\PY{+w}{ }\\PY{n+nt}{block\\PYZus{}size}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{8}\n", "\\PY{+w}{ }\\PY{n+nt}{refinement}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{static}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{default}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{volumes\\PYZus{}refine}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{0}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{0}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{8}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{0}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{8}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{24}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{8}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{24}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{16}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{0}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{32}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{24}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{48}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{24}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{40}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{48}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{56}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{0}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{72}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{80}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{8}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{88}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{n+nt}{start}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{88}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{16}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ end}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{96}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{24}\\PY{p+pIndicator}{]}\\PY{p+pIndicator}{,}\\PY{n+nt}{ lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{,}\\PY{n+nt}{ is\\PYZus{}abs}\\PY{p}{:}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{data}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{exports}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{default}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{macrs}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{rho}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{u}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{S}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{interval}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{frequency}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{12000}\n", "\\PY{+w}{ }\\PY{n+nt}{lvl}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{target}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{volume}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZob{}}\\PY{p+pIndicator}{\\PYZcb{}}\n", "\\PY{+w}{ }\\PY{n+nt}{outputs}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{instantaneous}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{true}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{models}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{precision}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{default}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{single}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{LBM}\\PY{p}{:}\\PY{+w}{ }\\PY{k+kt}{!not\\PYZhy{}inherit}\n", "\\PY{+w}{ }\\PY{n+nt}{tau}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0.8}\n", "\\PY{+w}{ }\\PY{n+nt}{vel\\PYZus{}set}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{D2Q9}\n", "\\PY{+w}{ }\\PY{n+nt}{coll\\PYZus{}oper}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RRBGK}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{engine}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{CUDA}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{periodic\\PYZus{}dims}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{false}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{false}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{true}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{BC\\PYZus{}map}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{W}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{UniformFlow}\n", "\\PY{+w}{ }\\PY{n+nt}{rho}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1.0}\n", "\\PY{+w}{ }\\PY{n+nt}{ux}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0.05}\n", "\\PY{+w}{ }\\PY{n+nt}{uy}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{uz}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{E}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedNeumannOutlet}\n", "\\PY{+w}{ }\\PY{n+nt}{rho}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1.0}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{E}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{1}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedHWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{N}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{pos}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\\PY{+w}{ }\\PY{n+nt}{BC}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{RegularizedHWBB}\n", "\\PY{+w}{ }\\PY{n+nt}{wall\\PYZus{}normal}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{S}\n", "\\PY{+w}{ }\\PY{n+nt}{order}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\end{Verbatim}\n" ], "text/plain": [ "simulations:\n", " - name: periodicPoiseuilleChannel\n", " save_path: ./validation/analytical/02_poiseuille_channel_flow/results/periodic\n", "\n", " n_steps: !unroll [250, 1000, 4000, 16000]\n", "\n", " report:\n", " frequency: 1000\n", "\n", " domain:\n", " domain_size:\n", " x: !unroll [4, 8, 16, 32]\n", " y: !unroll [4, 8, 16, 32]\n", " block_size: !unroll [4, 8, 8, 8]\n", "\n", " data:\n", " exports:\n", " default:\n", " macrs: [rho, u]\n", " interval:\n", " frequency: 0\n", " lvl: 0\n", " target:\n", " volume: {}\n", " outputs:\n", " instantaneous: true\n", "\n", " models:\n", " precision:\n", " default: single\n", "\n", " LBM:\n", " tau: 0.9\n", " vel_set: D2Q9\n", " coll_oper: RRBGK\n", " F:\n", " # FX is divided by 8\n", " x: !unroll [4.0e-4, 5.0e-5, 6.25e-6, 7.8125e-07]\n", " y: 0\n", "\n", " multiblock:\n", " overlap_F2C: 1\n", "\n", " engine:\n", " name: CUDA\n", "\n", " BC:\n", " periodic_dims: [true, false]\n", " BC_map:\n", " - pos: N\n", " BC: HWBB\n", " wall_normal: N\n", "\n", " - pos: S\n", " BC: HWBB\n", " wall_normal: S\n", "\n", " - name: regularizedPeriodicPoiseuilleChannel\n", " parent: periodicPoiseuilleChannel\n", "\n", " models:\n", " LBM:\n", " coll_oper: RRBGK\n", "\n", " BC:\n", " periodic_dims: [true, false]\n", " BC_map:\n", " - pos: N\n", " BC: RegularizedHWBB\n", " wall_normal: N\n", "\n", " - pos: S\n", " BC: RegularizedHWBB\n", " wall_normal: S\n", "\n", " - name: velocityNeumannPoiseuilleChannel\n", " parent: periodicPoiseuilleChannel\n", "\n", " save_path: ./validation/analytical/02_poiseuille_channel_flow/results/velocity_neumann\n", "\n", " report: {frequency: 1000}\n", "\n", " n_steps: 64000\n", " domain:\n", " domain_size:\n", " x: 256\n", " y: 32\n", " block_size: 8\n", "\n", " data:\n", " exports:\n", " default:\n", " macrs: [rho, u]\n", " interval:\n", " frequency: 16000\n", " lvl: 0\n", " target:\n", " volume: {}\n", " outputs:\n", " instantaneous: true\n", "\n", " models:\n", " LBM: !not-inherit\n", " tau: 0.9\n", " vel_set: D2Q9\n", " coll_oper: RRBGK\n", "\n", " BC:\n", " periodic_dims: [false, false]\n", " BC_map:\n", " - pos: W\n", " BC: UniformFlow\n", " wall_normal: W\n", " rho: 1.0\n", " ux: 0.05\n", " uy: 0\n", " uz: 0\n", " order: 1\n", "\n", " - pos: E\n", " BC: RegularizedNeumannOutlet\n", " rho: 1.0\n", " wall_normal: E\n", " order: 1\n", "\n", " - pos: N\n", " BC: RegularizedHWBB\n", " wall_normal: N\n", " order: 0\n", "\n", " - pos: S\n", " BC: RegularizedHWBB\n", " wall_normal: S\n", " order: 0\n", "\n", " - name: velocityNeumannPoiseuilleChannelMultilevel\n", " parent: periodicPoiseuilleChannel\n", "\n", " save_path: ./validation/analytical/02_poiseuille_channel_flow/results/multilevel\n", "\n", " n_steps: 64000\n", "\n", " domain:\n", " domain_size:\n", " x: 96\n", " y: 24\n", " block_size: 8\n", " refinement:\n", " static:\n", " default:\n", " volumes_refine:\n", " - {start: [0, 0], end: [8, 8], lvl: 1, is_abs: true}\n", " - {start: [0, 16], end: [8, 24], lvl: 1, is_abs: true}\n", " - {start: [8, 8], end: [24, 16], lvl: 1, is_abs: true}\n", " - {start: [16, 0], end: [32, 8], lvl: 1, is_abs: true}\n", " - {start: [24, 16], end: [48, 24], lvl: 1, is_abs: true}\n", " - {start: [40, 8], end: [48, 16], lvl: 1, is_abs: true}\n", " - {start: [56, 0], end: [72, 8], lvl: 1, is_abs: true}\n", " - {start: [80, 8], end: [88, 16], lvl: 1, is_abs: true}\n", " - {start: [88, 16], end: [96, 24], lvl: 1, is_abs: true}\n", "\n", " data:\n", " exports:\n", " default:\n", " macrs: [rho, u, S]\n", " interval:\n", " frequency: 12000\n", " lvl: 0\n", " target:\n", " volume: {}\n", " outputs:\n", " instantaneous: true\n", "\n", " models:\n", " precision:\n", " default: single\n", "\n", " LBM: !not-inherit\n", " tau: 0.8\n", " vel_set: D2Q9\n", " coll_oper: RRBGK\n", "\n", " engine:\n", " name: CUDA\n", "\n", " BC:\n", " periodic_dims: [false, false, true]\n", " BC_map:\n", " - pos: W\n", " BC: UniformFlow\n", " rho: 1.0\n", " ux: 0.05\n", " uy: 0\n", " uz: 0\n", " order: 1\n", "\n", " - pos: E\n", " BC: RegularizedNeumannOutlet\n", " rho: 1.0\n", " wall_normal: E\n", " order: 1\n", "\n", " - pos: N\n", " BC: RegularizedHWBB\n", " wall_normal: N\n", " order: 0\n", "\n", " - pos: S\n", " BC: RegularizedHWBB\n", " wall_normal: S\n", " order: 0" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Code\n", "\n", "Code(filename=filename)" ] } ], "metadata": { "kernelspec": { "display_name": "nassu (3.12.13)", "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.13" } }, "nbformat": 4, "nbformat_minor": 2 }