Skip to content

Commit

Permalink
display one frame in notebook + cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
slayoo committed Aug 6, 2024
1 parent 19e2b6f commit 0bcec81
Showing 1 changed file with 192 additions and 22 deletions.
214 changes: 192 additions & 22 deletions examples/PySDM_examples/Arabas_et_al_2015/paraview_hello_world.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -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": [],
Expand All @@ -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",
Expand All @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand All @@ -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()"
]
},
Expand All @@ -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",
" )"
]
},
{
Expand All @@ -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",
" <iframe\n",
" width=\"1100\"\n",
" height=\"500\"\n",
" src=\"./output/anim_frame_600.0.pdf\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" \n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x724f87286190>"
]
},
"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": []
Expand All @@ -273,7 +443,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.4"
"version": "3.9.2"
},
"vscode": {
"interpreter": {
Expand Down

0 comments on commit 0bcec81

Please sign in to comment.