diff --git a/examples/PySDM_examples/Arabas_et_al_2015/paraview_hello_world.ipynb b/examples/PySDM_examples/Arabas_et_al_2015/paraview_hello_world.ipynb
index 1485c06de..b7f848fa2 100644
--- a/examples/PySDM_examples/Arabas_et_al_2015/paraview_hello_world.ipynb
+++ b/examples/PySDM_examples/Arabas_et_al_2015/paraview_hello_world.ipynb
@@ -2,25 +2,28 @@
"cells": [
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"id": "ee889545",
"metadata": {},
"outputs": [],
"source": [
+ "import subprocess\n",
+ "import glob\n",
+ "import os\n",
+ "import platform\n",
+ "\n",
"from PySDM_examples.Arabas_et_al_2015 import Settings, SpinUp\n",
"from PySDM_examples.Szumowski_et_al_1998 import Simulation, Storage\n",
"from PySDM.exporters import VTKExporter\n",
"from PySDM_examples.utils import ProgBarController\n",
"from PySDM import products as PySDM_products\n",
- "import subprocess\n",
- "import glob\n",
- "import os\n",
- "import platform"
+ "\n",
+ "from IPython.display import IFrame, display"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"id": "f0d2581f",
"metadata": {},
"outputs": [],
@@ -40,10 +43,25 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 3,
"id": "74c00944",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "a670072d708f480092e35ea5acf98b3a",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "FloatProgress(value=0.0, description='progress:', max=1.0)"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"settings = Settings()\n",
"storage = Storage()\n",
@@ -66,10 +84,18 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 30,
"id": "2030d8e7",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overwriting pvscript.py\n"
+ ]
+ }
+ ],
"source": [
"%%writefile pvscript.py\n",
"\n",
@@ -113,7 +139,7 @@
"palette_invert = False\n",
"color_range = [0, 10]\n",
"logscale = False\n",
- "title = var + ' [um]'\n",
+ "title = var + ' [μm]'\n",
"\n",
"calculator = pvs.Calculator(reader_attr)\n",
"calculator.Function = f'{var}*{multiplier}'\n",
@@ -155,7 +181,7 @@
"palette_invert = True\n",
"color_range = [0, 10]\n",
"logscale = False\n",
- "title = var + ' [um]'\n",
+ "title = var + ' [μm]'\n",
"\n",
"display_prod = pvs.Show(reader_prod)\n",
"display_prod.SetRepresentationType('Surface')\n",
@@ -193,7 +219,9 @@
"cam.Dolly(1.45)\n",
"\n",
"# save animation to an Ogg Vorbis file\n",
- "pvs.SaveAnimation('output/anim.ogv', view, FrameRate=10)\n",
+ "anim_file = 'output/anim.ogv'\n",
+ "print(anim_file)\n",
+ "pvs.SaveAnimation(anim_file, view, FrameRate=10)\n",
"\n",
"# save animation frame as pdfs\n",
"exporters = pvs.servermanager.createModule('exporters')\n",
@@ -202,10 +230,11 @@
"exporter.GL2PSdepthsortmethod = 'BSP sorting (slow, best)'\n",
"for t in reader_prod.TimestepValues:\n",
" view.ViewTime = t\n",
+ " exporter.FileName = f'output/anim_frame_{t}.pdf'\n",
+ " print(exporter.FileName)\n",
" for reader in (reader_prod, reader_attr):\n",
" reader.UpdatePipeline(t)\n",
" exporter.SetView(view)\n",
- " exporter.FileName = f'output/anim_frame_{t}.pdf'\n",
" exporter.Write()"
]
},
@@ -219,13 +248,114 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 32,
"id": "79477d3d",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "output/anim_frame_0.0.pdf\n",
+ "output/anim_frame_60.0.pdf\n",
+ "output/anim_frame_120.0.pdf\n",
+ "output/anim_frame_180.0.pdf\n",
+ "output/anim_frame_240.0.pdf\n",
+ "output/anim_frame_300.0.pdf\n",
+ "output/anim_frame_360.0.pdf\n",
+ "output/anim_frame_420.0.pdf\n",
+ "output/anim_frame_480.0.pdf\n",
+ "output/anim_frame_540.0.pdf\n",
+ "output/anim_frame_600.0.pdf\n",
+ "output/anim_frame_660.0.pdf\n",
+ "output/anim_frame_720.0.pdf\n",
+ "output/anim_frame_780.0.pdf\n",
+ "output/anim_frame_840.0.pdf\n",
+ "output/anim_frame_900.0.pdf\n",
+ "output/anim_frame_960.0.pdf\n",
+ "output/anim_frame_1020.0.pdf\n",
+ "output/anim_frame_1080.0.pdf\n",
+ "output/anim_frame_1140.0.pdf\n",
+ "output/anim_frame_1200.0.pdf\n",
+ "output/anim_frame_1260.0.pdf\n",
+ "output/anim_frame_1320.0.pdf\n",
+ "output/anim_frame_1380.0.pdf\n",
+ "output/anim_frame_1440.0.pdf\n",
+ "output/anim_frame_1500.0.pdf\n",
+ "output/anim_frame_1560.0.pdf\n",
+ "output/anim_frame_1620.0.pdf\n",
+ "output/anim_frame_1680.0.pdf\n",
+ "output/anim_frame_1740.0.pdf\n",
+ "output/anim_frame_1800.0.pdf\n",
+ "output/anim_frame_1860.0.pdf\n",
+ "output/anim_frame_1920.0.pdf\n",
+ "output/anim_frame_1980.0.pdf\n",
+ "output/anim_frame_2040.0.pdf\n",
+ "output/anim_frame_2100.0.pdf\n",
+ "output/anim_frame_2160.0.pdf\n",
+ "output/anim_frame_2220.0.pdf\n",
+ "output/anim_frame_2280.0.pdf\n",
+ "output/anim_frame_2340.0.pdf\n",
+ "output/anim_frame_2400.0.pdf\n",
+ "output/anim_frame_2460.0.pdf\n",
+ "output/anim_frame_2520.0.pdf\n",
+ "output/anim_frame_2580.0.pdf\n",
+ "output/anim_frame_2640.0.pdf\n",
+ "output/anim_frame_2700.0.pdf\n",
+ "output/anim_frame_2760.0.pdf\n",
+ "output/anim_frame_2820.0.pdf\n",
+ "output/anim_frame_2880.0.pdf\n",
+ "output/anim_frame_2940.0.pdf\n",
+ "output/anim_frame_3000.0.pdf\n",
+ "output/anim_frame_3060.0.pdf\n",
+ "output/anim_frame_3120.0.pdf\n",
+ "output/anim_frame_3180.0.pdf\n",
+ "output/anim_frame_3240.0.pdf\n",
+ "output/anim_frame_3300.0.pdf\n",
+ "output/anim_frame_3360.0.pdf\n",
+ "output/anim_frame_3420.0.pdf\n",
+ "output/anim_frame_3480.0.pdf\n",
+ "output/anim_frame_3540.0.pdf\n",
+ "output/anim_frame_3600.0.pdf\n",
+ "output/anim_frame_3660.0.pdf\n",
+ "output/anim_frame_3720.0.pdf\n",
+ "output/anim_frame_3780.0.pdf\n",
+ "output/anim_frame_3840.0.pdf\n",
+ "output/anim_frame_3900.0.pdf\n",
+ "output/anim_frame_3960.0.pdf\n",
+ "output/anim_frame_4020.0.pdf\n",
+ "output/anim_frame_4080.0.pdf\n",
+ "output/anim_frame_4140.0.pdf\n",
+ "output/anim_frame_4200.0.pdf\n",
+ "output/anim_frame_4260.0.pdf\n",
+ "output/anim_frame_4320.0.pdf\n",
+ "output/anim_frame_4380.0.pdf\n",
+ "output/anim_frame_4440.0.pdf\n",
+ "output/anim_frame_4500.0.pdf\n",
+ "output/anim_frame_4560.0.pdf\n",
+ "output/anim_frame_4620.0.pdf\n",
+ "output/anim_frame_4680.0.pdf\n",
+ "output/anim_frame_4740.0.pdf\n",
+ "output/anim_frame_4800.0.pdf\n",
+ "output/anim_frame_4860.0.pdf\n",
+ "output/anim_frame_4920.0.pdf\n",
+ "output/anim_frame_4980.0.pdf\n",
+ "output/anim_frame_5040.0.pdf\n",
+ "output/anim_frame_5100.0.pdf\n",
+ "output/anim_frame_5160.0.pdf\n",
+ "output/anim_frame_5220.0.pdf\n",
+ "output/anim_frame_5280.0.pdf\n",
+ "output/anim_frame_5340.0.pdf\n",
+ "output/anim_frame_5400.0.pdf\n"
+ ]
+ }
+ ],
"source": [
"if not ('CI' in os.environ and platform.system() == 'Windows'):\n",
- " subprocess.check_output(['pvpython', 'pvscript.py'], shell=True)"
+ " subprocess.run(\n",
+ " ('pvpython', '--force-offscreen-rendering', 'pvscript.py'),\n",
+ " check=True,\n",
+ " )"
]
},
{
@@ -238,20 +368,60 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 35,
"id": "23e0cf61",
"metadata": {},
"outputs": [],
"source": [
"for file in glob.glob('output/anim_frame_*.pdf'):\n",
- " subprocess.run(['ps2pdf', file, file+'_'], capture_output=True, check=True)\n",
- " subprocess.call(['mv', file+'_', file])"
+ " subprocess.run(('ps2pdf', file, file + '_'), check=True, capture_output=True)\n",
+ " subprocess.run(('mv', file + '_', file), check=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "07365c36-7d4a-437f-b280-31259a35c1e3",
+ "metadata": {},
+ "source": [
+ "#### 5. display one frame in the notebook"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "id": "f1a1db54-3516-4fce-8bb8-62f2c83a0b19",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "display(IFrame(\"./output/anim_frame_600.0.pdf\", width=1100, height=500))"
]
},
{
"cell_type": "code",
"execution_count": null,
- "id": "9d3e4a35",
+ "id": "d6dbad77-51d6-4dc3-b78e-15c75d8131d2",
"metadata": {},
"outputs": [],
"source": []
@@ -273,7 +443,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.4"
+ "version": "3.9.2"
},
"vscode": {
"interpreter": {