Skip to content

Commit 2774d48

Browse files
Merge pull request #120 from ChristopherMayes/update_docs_with_wavefront
Add wavefront notebooks to docs
2 parents 615bc69 + b9e1ecc commit 2774d48

File tree

5 files changed

+28
-12
lines changed

5 files changed

+28
-12
lines changed

docs/examples/wavefront/advanced_drift.ipynb

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
" drift_wavefront,\n",
2323
" drift_wavefront_advanced,\n",
2424
")\n",
25-
"from pmd_beamphysics.wavefront.gaussian import add_gaussian\n",
2625
"from pmd_beamphysics.units import Z0, c_light\n",
2726
"import numpy as np\n",
2827
"\n",
@@ -44,19 +43,20 @@
4443
"metadata": {},
4544
"outputs": [],
4645
"source": [
47-
"W0 = Wavefront(\n",
48-
" Ex=np.zeros((101, 101, 1368)),\n",
46+
"wavelength = 1.2227e-10\n",
47+
"w0 = 50e-6\n",
48+
"sigma0 = w0 / 2 # RMS beam size at waist\n",
49+
"zR = np.pi * w0**2 / wavelength\n",
50+
"\n",
51+
"W = Wavefront.from_gaussian(\n",
52+
" shape=(101, 101, 1368),\n",
4953
" dx=6e-6,\n",
5054
" dy=6e-6,\n",
5155
" dz=1.46724e-09,\n",
52-
" wavelength=1.2227e-10,\n",
56+
" wavelength=wavelength,\n",
57+
" sigma0=sigma0,\n",
58+
" energy=1.2345e-6,\n",
5359
")\n",
54-
"w0 = 50e-6\n",
55-
"zR = np.pi * w0**2 / W0.wavelength\n",
56-
"\n",
57-
"\n",
58-
"W = W0.copy()\n",
59-
"add_gaussian(W, z=0, w0=w0, energy=1.2345e-6)\n",
6060
"\n",
6161
"W.plot_fluence()"
6262
]
@@ -315,6 +315,14 @@
315315
"plt.legend()"
316316
]
317317
},
318+
{
319+
"cell_type": "markdown",
320+
"id": "f34daabc",
321+
"metadata": {},
322+
"source": [
323+
"# Check energy conservation"
324+
]
325+
},
318326
{
319327
"cell_type": "code",
320328
"execution_count": null,
@@ -346,7 +354,7 @@
346354
],
347355
"metadata": {
348356
"kernelspec": {
349-
"display_name": "Python 3 (ipykernel)",
357+
"display_name": "pmd_beamphysics-dev",
350358
"language": "python",
351359
"name": "python3"
352360
},

docs/examples/wavefront/pytorch_wavefront.ipynb renamed to docs/examples/wavefront/experimental_pytorch_wavefront.ipynb

File renamed without changes.

mkdocs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ nav:
2020
- examples/fields/field_conversion.ipynb
2121
- examples/fields/corrector_modeling.ipynb
2222
- examples/fields/solenoid_modeling.ipynb
23+
- Wavefront:
24+
- examples/wavefront/wavefront.ipynb
25+
- examples/wavefront/advanced_drift.ipynb
26+
- examples/wavefront/experimental_pytorch_wavefront.ipynb
2327
- Utilities:
2428
- examples/units.ipynb
2529
- examples/labels.ipynb

pmd_beamphysics/particles.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,10 @@ def __init__(self, h5=None, data=None):
190190
assert len(pp) == 1, f"Number of particle paths in {h5}: {len(pp)}"
191191
data = load_bunch_data(hh5[pp[0]])
192192

193+
elif isinstance(h5, File):
194+
pp = particle_paths(h5)
195+
assert len(pp) == 1, f"Number of particle paths in {h5}: {len(pp)}"
196+
data = load_bunch_data(h5[pp[0]])
193197
else:
194198
# Try dict
195199
data = load_bunch_data(h5)

scripts/execute_notebooks.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
# Define an array of patterns to skip
4-
SKIP_LIST=("parallel")
4+
SKIP_LIST=("parallel", "experimental")
55

66

77
export PYDEVD_DISABLE_FILE_VALIDATION=1

0 commit comments

Comments
 (0)