Skip to content

Commit 3ff755c

Browse files
committed
other updates after ossfe
1 parent dab7839 commit 3ff755c

File tree

7 files changed

+45
-24
lines changed

7 files changed

+45
-24
lines changed

CONTRIBUTING.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ If you plan to prepare a class, lesson, workshop, exercize, or tutorial about Wa
3535
this is there right place to include it!
3636

3737
There are many ways to contribute, from writing new material and improving the
38-
existing one, to submitting [bug reports][issues] about things that do not work, are not clear, or are missing.
38+
existing one, to submitting [bug reports][repo-issues] about things that do not work, are not clear, or are missing.
3939

4040
We will expand the WarpX tutorials as we develop new material for future events.
4141

4242
### Using GitHub
4343

4444
If you choose to contribute via GitHub, you may want to look at [How to
4545
Contribute to an Open Source Project on GitHub][how-contribute] and
46-
[specifically to WarpX](warpx-how-contribute). In brief, we
46+
[specifically to WarpX][warpx-how-contribute]. In brief, we
4747
use [GitHub flow][github-flow] to manage changes:
4848

4949
1. Create a new branch in your desktop copy of this repository for each
@@ -63,3 +63,4 @@ use [GitHub flow][github-flow] to manage changes:
6363
[github-join]: https://github.com/join
6464
[how-contribute]: https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github
6565
[warpx-how-contribute]: https://github.com/BLAST-WarpX/warpx/blob/development/CONTRIBUTING.rst
66+
[template-doc]: https://carpentries.github.io/workbench/

config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ learners:
7575

7676
# Information for Instructors
7777
instructors:
78+
- instructor-notes.md
7879

7980
# Learner Profiles
8081
profiles:

episodes/fig/paraview_pipeline.png

-16.6 KB
Binary file not shown.

episodes/ossfe2025.Rmd

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ exercises: 30
1616

1717
- 💻 Install WarpX on your local machine with [Conda](https://docs.conda.io/en/latest/)
1818
- 🏃 Run a fusion-relevant example on your local machine: protons in a magnetic mirror!
19-
- 👀 Visualize the results with `python` and `Paraview`
19+
- 👀 Visualize the results with `Python` and `Paraview`
2020

2121
::::::::::::::::::::::::::::::::::::::::::::::::
2222

2323
## WarpX, a particle-in-cell code
2424

2525
Welcome to the WarpX tutorial at [OSSFE 2025](https://ossfe.github.io/)! 👋
2626

27-
[WarpX](https://github.com/BLAST-WarpX/warpx) is a general purpose **open-source** **high-performance** **Particle-In-Cell** (PIC) code.
27+
[WarpX][warpx] is a general purpose **open-source** **high-performance** **Particle-In-Cell** (PIC) code.
2828
If you are not familiar with the PIC method, here is a picture that condenses the core idea:
2929

3030
![Some computational particles (a.k.a. macroparticles) traveling in space, across the cells of a grid.](https://gist.github.com/user-attachments/assets/50726d37-2b72-4664-9435-f90d7d2f0043
@@ -47,7 +47,7 @@ In this tutorial we will go through the **basics of WarpX**: installation, runni
4747
Along the way, we will point to some specific locations in the documentation, for your reference.
4848

4949
::: callout
50-
📣 Everything you need to know to use WarpX is in the [documentation](https://warpx.readthedocs.io/en/latest/index.html), check it out!
50+
📣 Everything you need to know to use WarpX is in the [documentation][warpx-readthedocs], check it out!
5151
:::
5252

5353
::::::::::::::::::::::::::::::::::::::::::::::: checklist
@@ -62,9 +62,9 @@ Some cool features of WarpX:
6262

6363
🤓 **Many many advanced algorithms and methods**: mesh-refinement, embedded boundaries, electrostatic/electromagnetic/pseudospectral solvers, etc.
6464

65-
💾 Standards: [openPMD](https://www.openpmd.org/#/start) for input/output data, [PICMI](https://github.com/picmi-standard/picmi) for inputs
65+
💾 Standards: [openPMD][openpmd] for input/output data, [PICMI][picmi] for inputs
6666

67-
🤸 Active development and mainteinance: check our [GitHub repo](https://github.com/BLAST-WarpX/warpx)
67+
🤸 Active development and mainteinance: check our [GitHub repo][warpx-github]
6868

6969
🗺️ International, cross-disciplinary community: plasma physics, fusion devices, laser-plasma interactions, beam physics, plasma-based acceleration, astrophysics
7070

@@ -103,7 +103,7 @@ If you get 3 different paths that look something like:
103103
```bash
104104
/home/<username>/anaconda3/envs/warpx/bin/warpx.xd
105105
```
106-
then you got this 🙌! You can also import `pywarpx` in `python`
106+
then you got this 🙌! You can also import `pywarpx` in Python.
107107

108108

109109
## A simple example of a magnetic mirror
@@ -160,20 +160,22 @@ Here we have loaded the field of hte magnetic bottle from a file.
160160
You can also you can [define an external field analytically](https://warpx.readthedocs.io/en/latest/usage/parameters.html#applied-to-particles).
161161

162162

163-
## Visualizing
163+
## Data handling and visualizations
164164

165-
### With python 🐍
165+
### With Python 🐍
166166

167-
Now that we have the results, we can analyze them using `python`.
168-
We will use the [openPMD-viewer](https://openpmd-viewer.readthedocs.io/en/latest/) library to grab the data that the simulation produced in `openPMD` format.
167+
Now that we have the results, we can analyze them using Python.
168+
We will use the [openPMD-viewer][openpmd-viewer] library to grab the data that the simulation produced in `openPMD` format.
169169
Here you can find [a few great tutorials on how to use the viewer](https://openpmd-viewer.readthedocs.io/en/latest/tutorials/tutorials.html).
170-
If you feel nerdy and/or you need to deal with the data in parallel workflows, you can use the [openPMD-api](https://openpmd-api.readthedocs.io/en/latest/).
171-
172-
:::::::::::::::::::::::::::::::::::::::::: spoiler
170+
If you feel nerdy and/or you need to deal with the data in parallel workflows, you can use the [openPMD-api][opepmd-api].
173171

174172
Let's take a look at a simple Jupyter notebook where we retrieve the magnetic field and the particle attributes at the end of the simulation.
175173
With a little bit more work, we also plot the trajectories of the particles.
176174

175+
:::::::::::::::::::::::::::::::::::::::::: spoiler
176+
177+
## Show me the Jupyter notebbok
178+
177179
```{r, results='asis', echo=FALSE}
178180
cat('<iframe src="https://nbviewer.org/github/aeriforme/warpx-tutorials/blob/main/episodes/files/analysis_3d_magnetic_mirror.ipynb"
179181
width="100%" height="800" style="border:none;">
@@ -182,7 +184,7 @@ cat('<iframe src="https://nbviewer.org/github/aeriforme/warpx-tutorials/blob/mai
182184
::::::::::::::::::::::::::::::::::::::::::::::::::
183185

184186

185-
You can [download the notebook](../files/analysis_3d_magnetic_mirror.ipynb) and try it yourself.
187+
You can [download the notebook](./files/analysis_3d_magnetic_mirror.ipynb) and try it yourself.
186188
Remember to either run the notebook from the simulation directory or change the corresponding path in the notebook.
187189

188190
### With Paraview
@@ -196,7 +198,7 @@ We can zhuzh up the pipeline so that we can visualize the trajectories of the pr
196198

197199
This is the pipeline that I have used to produce the visualizations below.
198200

199-
![](fig/paraview_pipeline.png){alt="paraview pipeline"}
201+
![](https://gist.github.com/user-attachments/assets/5847ad00-2f68-4c13-ab42-51485a6551cd){alt="paraview pipeline"}
200202

201203
![Protons trajectories in a magnetic mirror](https://gist.github.com/user-attachments/assets/24b11226-4242-4958-bc12-c09159363065){alt="simulation of proton trajectories inside a magnetic mirror"}
202204

@@ -209,12 +211,15 @@ And that's all for now! 👋
209211

210212
::::::::::::::::::::::::::::::::::::: keypoints
211213

212-
🚀 [**WarpX**](https://ecp-warpx.github.io/) is a open-source high-performance particle-in-cell code
214+
🚀 [**WarpX**][warpx] is a open-source high-performance particle-in-cell code
213215

214216
🎯 WarpX is **easy to install via Conda**: `conda -c conda-forge warpx`
215217

216-
🔍 The [**documentation**](https://warpx.readthedocs.io/en/latest/) is the first place to look for answers, otherwise check out our [**issues**](https://github.com/BLAST-WarpX/warpx/issues) and [**discussions**](https://github.com/BLAST-WarpX/warpx/discussions).
218+
🔍 The [**documentation**][warpx-readthedocs] is the first place to look for answers,
219+
otherwise check out our [**issues**][warpx-issues] and [**discussions**][warpx-discussions] and ask there.
217220

218-
📷 To visualize the simulation results in [**openPMD**](http://www.openpmd.org/) format, you can use the [**openPMD-viewer**](https://openpmd-viewer.readthedocs.io/) library for `python` or you can open `.pmd` files directly in [**Paraview**]((https://www.paraview.org/download/)).
221+
📷 To analyze and visualize the simulation results in [**openPMD**][openpmd] format,
222+
you can use the [**openPMD-viewer**][openpmd-viewer] library for Python
223+
or you can open `.pmd` files directly in [**Paraview**]((https://www.paraview.org/download/)).
219224

220225
::::::::::::::::::::::::::::::::::::::::::::::::

instructors/instructor-notes.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,14 @@
22
title: 'Instructor Notes'
33
---
44

5-
This is a placeholder file. Please add content here.
5+
### Discussions at OSSFE 2025
6+
7+
* Who develops WarpX? [A lot of people][https://github.com/BLAST-WarpX/warpx/graphs/contributors] from all around the world that work in different fields! WarpX is an open-source project that belongs to the [High Performance Software Foundation][hpsf], which itself is part of the nonprofit [Linux Foundation][https://www.linuxfoundation.org/].
8+
9+
* What is the difference between a Monte Carlo code and a Particle-In-Cell code? Typically in MC the particles are independent one another, while in PIC they interact through the self-consistent field (collective effect). That being said, MC can and are included in the core PIC loop to simulate, e.g., binary collisions, ionzation, nuclear reactions, QED processes.
10+
11+
* Why Conda environments over Python environments? Conda is a system package manager, while `pip` is a Python package manager. With `conda` you can install much more than just Python libraries.
12+
13+
* Can WarpX deal with different species? [But of course][https://warpx.readthedocs.io/en/latest/usage/parameters.html#particle-initialization]! One can initialize as many species as desired, with user-define mass and charge. Beware that not all the additional physics modules (ionization, QED, ...) may work for arbitrary species!
14+
15+
* Does WarpX support mixed kinetic and fluid descriptions? Yes, check out the [hybrid solver][https://warpx.readthedocs.io/en/latest/theory/kinetic_fluid_hybrid_model.html]!

learners/reference.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 'Reference'
2+
title: 'References'
33
---
44

55
## Useful links
@@ -18,7 +18,7 @@ title: 'Reference'
1818

1919
* [**openPMD viewer**](https://openpmd-viewer.readthedocs.io/): an open-source Python package to access openPMD data
2020

21-
* [**PICMI**](https://picmi.readthedocs.io/en/latest/): `Particle-In-Cell Modeling Interface`, a standard proposing naming and structure conventions for particle-in-cell simulation input
21+
* [**PICMI**][https://picmi.readthedocs.io/en/latest/]: `Particle-In-Cell Modeling Interface`, a standard proposing naming and structure conventions for particle-in-cell simulation input
2222

2323

2424
## Glossary

links.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ any links that you are not going to use.
66
[warpx]: https://ecp-warpx.github.io/
77
[warpx-github]: https://github.com/BLAST-WarpX/warpx
88
[warpx-readthedocs]: https://warpx.readthedocs.io/en/latest/
9-
[openpmd]: http://www.openpmd.org/
9+
[openpmd]: https://www.openpmd.org/
1010
[picmi]: https://picmi.readthedocs.io/en/latest/
1111
[openpmd-viewer]: https://openpmd-viewer.readthedocs.io/
12+
[openpmd-api]: https://openpmd-api.readthedocs.io/en/latest/
13+
[warpx-issues]: https://github.com/BLAST-WarpX/warpx/issues)
14+
[warpx-discussions]: https://github.com/BLAST-WarpX/warpx/discussions
15+
[hpsf]: https://hpsf.io/

0 commit comments

Comments
 (0)