Change toggle to dropdown admonition
This commit is contained in:
		
							parent
							
								
									8f5dbf6483
								
							
						
					
					
						commit
						7ac82b1cc2
					
				|  | @ -208,7 +208,15 @@ | |||
|     "2. Create an ASE *calculator*\n", | ||||
|     "3. Run the simulation\n", | ||||
|     "\n", | ||||
|     "### PED polar scan for Cu(001)" | ||||
|     "### PED polar scan for Cu(001)\n", | ||||
|     "\n", | ||||
|     "download the [cu.py](cu.py \"download\") python script and the [copper.cif](copper.cif \"download\") file. Put those files in the same folder. You can run your first MsSpec calculation by typing in a terminal:\n", | ||||
|     "\n", | ||||
|     "```shell\n", | ||||
|     "$ python cu.py\n", | ||||
|     "```\n", | ||||
|     "\n", | ||||
|     "Here is the content of the script file:" | ||||
|    ] | ||||
|   }, | ||||
|   { | ||||
|  | @ -597,6 +605,8 @@ | |||
|     "Based on the previous *.cif file, create a new cluster without the deepest plane and run the same calculation for the same emitter\n", | ||||
|     "\n", | ||||
|     "```{note}\n", | ||||
|     "Use the `cluster.edit()` method to interactively remove atoms...\n", | ||||
|     "\n", | ||||
|     "As the cluster will contain fewer atoms, the emitter index will be different\n", | ||||
|     "```\n", | ||||
|     "\n", | ||||
|  | @ -617,7 +627,9 @@ | |||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{figure-md} Cu-4planes3planes\n", | ||||
|     "<img src=\"fig2.png\" width=\"600px\" align=\"center\">\n", | ||||
|  | @ -913,20 +925,6 @@ | |||
|     "Cu(2p) polar scan for the hemispherical cluster.\n", | ||||
|     ":::" | ||||
|    ] | ||||
|   }, | ||||
|   { | ||||
|    "cell_type": "code", | ||||
|    "execution_count": null, | ||||
|    "id": "e86ab1b3-fcf3-46e7-9cc7-f5e80becea9d", | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "outputs": [], | ||||
|    "source": [] | ||||
|   } | ||||
|  ], | ||||
|  "metadata": { | ||||
|  | @ -945,7 +943,7 @@ | |||
|    "name": "python", | ||||
|    "nbconvert_exporter": "python", | ||||
|    "pygments_lexer": "ipython3", | ||||
|    "version": "3.11.13" | ||||
|    "version": "3.11.3" | ||||
|   } | ||||
|  }, | ||||
|  "nbformat": 4, | ||||
|  |  | |||
|  | @ -42,7 +42,7 @@ | |||
|     "\n", | ||||
|     "### Building the cluster\n", | ||||
|     "\n", | ||||
|     "Let's start by building the cluster" | ||||
|     "Let's start by building the cluster. You can copy/paste directly the code from this page to your text editor or you can download the script [SbAg.py](SbAg.py \"download\"). You will also need the [data.txt](data.txt \"download\") file." | ||||
|    ] | ||||
|   }, | ||||
|   { | ||||
|  | @ -1164,7 +1164,9 @@ | |||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{figure-md} SbAg-fig2\n", | ||||
|     "<img src=\"fig2.png\" width=\"600px\" align=\"center\">\n", | ||||
|  | @ -1200,7 +1202,7 @@ | |||
|    "name": "python", | ||||
|    "nbconvert_exporter": "python", | ||||
|    "pygments_lexer": "ipython3", | ||||
|    "version": "3.11.13" | ||||
|    "version": "3.11.3" | ||||
|   } | ||||
|  }, | ||||
|  "nbformat": 4, | ||||
|  |  | |||
|  | @ -62,7 +62,7 @@ | |||
|     "::::{tab-set}\n", | ||||
|     "\n", | ||||
|     ":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n", | ||||
|     "By using the `Atoms` class of the `ase` package, try to build a O-Rh chain where atoms are 4 Å apart. Here is the begining of the script. Try to complete the line of code and view your two-atoms chain.\n", | ||||
|     "By using the [`Atoms`](https://wiki.fysik.dtu.dk/ase/ase/atoms.html#ase.Atoms) class of the `ase` package, try to build a O-Rh chain where atoms are 4 Å apart. Here is the begining of the script. Try to complete the line of code and view your two-atoms chain.\n", | ||||
|     "\n", | ||||
|     "```python\n", | ||||
|     "from ase import Atoms\n", | ||||
|  | @ -266,7 +266,9 @@ | |||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{literalinclude} RhO_sf.py\n", | ||||
|     ":start-at: Compute\n", | ||||
|  | @ -333,7 +335,7 @@ | |||
|     "::::{tab-set}\n", | ||||
|     "\n", | ||||
|     ":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n", | ||||
|     "Complete the script below to compute the ($\\theta,\\phi$) scan of the photodiffraction of O(1s) adsorbed on a *fcc* site on Rh(111) surface.\n", | ||||
|     "Complete the [script below](RhO_tofill.py \"download\") to compute the ($\\theta,\\phi$) scan of the photodiffraction of O(1s) adsorbed on a *fcc* site on Rh(111) surface.\n", | ||||
|     "\n", | ||||
|     "```{literalinclude} RhO_tofill.py\n", | ||||
|     ":lineno-match:\n", | ||||
|  | @ -358,7 +360,9 @@ | |||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{literalinclude} RhO_completed.py\n", | ||||
|     ":lineno-match:\n", | ||||
|  | @ -409,7 +413,7 @@ | |||
|    "name": "python", | ||||
|    "nbconvert_exporter": "python", | ||||
|    "pygments_lexer": "ipython3", | ||||
|    "version": "3.11.13" | ||||
|    "version": "3.11.3" | ||||
|   } | ||||
|  }, | ||||
|  "nbformat": 4, | ||||
|  |  | |||
|  | @ -97,7 +97,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "3ed73f46-c12f-452f-a584-00d142f2e133", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|  | @ -136,7 +142,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "626708d9-c421-4bf0-bd70-f32113360f9c", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|  | @ -150,6 +162,10 @@ | |||
|     "Polar scan of a Ni chain of 2-5 atoms for single and full mutliple scattering.\n", | ||||
|     ":::\n", | ||||
|     "\n", | ||||
|     ":::{literalinclude} Ni_chain2.py\n", | ||||
|     ":linenos: true\n", | ||||
|     ":::\n", | ||||
|     "\n", | ||||
|     "```" | ||||
|    ] | ||||
|   } | ||||
|  |  | |||
|  | @ -181,12 +181,12 @@ | |||
|     "::::{tab-set}\n", | ||||
|     "\n", | ||||
|     ":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n", | ||||
|     "Complete the code snipet provided below to create a small TiSe{sub}`2` cluster with Ti emitter in the 2{sup}`nd` plane:\n", | ||||
|     "Complete the code snipet provided below (or [here](TiSe2_1_tofill.py \"download\")) to create a small TiSe{sub}`2` cluster with Ti emitter in the 2{sup}`nd` plane:\n", | ||||
|     "\n", | ||||
|     "```{literalinclude} TiSe2_1_tofill.py\n", | ||||
|     ":start-at: from\n", | ||||
|     ":end-before: Create a calculator\n", | ||||
|     ":lineno-match:\n", | ||||
|     ":lines: 1-29\n", | ||||
|     ":linenos:\n", | ||||
|     ":emphasize-lines: 7,11,15,26 \n", | ||||
|     "```\n", | ||||
|     "\n", | ||||
|     ":::\n", | ||||
|  | @ -195,53 +195,32 @@ | |||
|    ] | ||||
|   }, | ||||
|   { | ||||
|    "cell_type": "code", | ||||
|    "execution_count": 14, | ||||
|    "id": "b65b569e-242b-4fe9-9c87-ea90d80d9b44", | ||||
|    "cell_type": "markdown", | ||||
|    "id": "1f2e014f-8963-4ae6-bbf5-7f4ebde3b16a", | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [ | ||||
|      "hide-cell" | ||||
|     ] | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "outputs": [], | ||||
|    "source": [ | ||||
|     "from ase.build import mx2\n", | ||||
|     "from ase.visualize import view\n", | ||||
|     "from msspec.calculator import MSSPEC\n", | ||||
|     "from msspec.utils import hemispherical_cluster, get_atom_index\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     "# Some usefull constants (a, c, d, D) for defining the structure\n", | ||||
|     "a=3.535;c=6.004;d=3.450;D=2.554\n", | ||||
|     ":::{literalinclude} TiSe2_1_completed.py\n", | ||||
|     ":linenos: true\n", | ||||
|     ":lines: 1-18\n", | ||||
|     ":::\n", | ||||
|     "\n", | ||||
|     "# Create the TiSe2 trilayer\n", | ||||
|     "# use ase help for this function\n", | ||||
|     "TiSe2 = mx2(formula='TiSe2', kind='1T', a=a, thickness=d, size=(1, 1, 1), vacuum=None)\n", | ||||
|     "\n", | ||||
|     "# The preious cell is 2D, let's define the c-axis to take into account \n", | ||||
|     "# the Van der Waals gap between trilayers\n", | ||||
|     "TiSe2.cell[2] = [0, 0, c]\n", | ||||
|     "\n", | ||||
|     "# To be aligned like in the paper\n", | ||||
|     "TiSe2.rotate(60, 'z', rotate_cell=True)\n", | ||||
|     "\n", | ||||
|     "# Since the material is multi-elements, \"tag\" each inequivalent atom \n", | ||||
|     "# of the unit cell with a number. The \"Ti\" atom is tagged 0 and \"Se\" \n", | ||||
|     "# atoms are 1 and 2.\n", | ||||
|     "for i in range(3): \n", | ||||
|     "    TiSe2[i].tag = i\n", | ||||
|     "\n", | ||||
|     "cluster = hemispherical_cluster(TiSe2, emitter_tag=0, emitter_plane=1, planes=5)\n", | ||||
|     "cluster.emitter = get_atom_index(cluster, 0, 0, 0)" | ||||
|     "```" | ||||
|    ] | ||||
|   }, | ||||
|   { | ||||
|    "cell_type": "code", | ||||
|    "execution_count": 15, | ||||
|    "id": "515064d0-3751-4fae-af0c-c4b15ea221b3", | ||||
|    "execution_count": 1, | ||||
|    "id": "b65b569e-242b-4fe9-9c87-ea90d80d9b44", | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|  | @ -777,12 +756,39 @@ | |||
|        "<IPython.core.display.HTML object>" | ||||
|       ] | ||||
|      }, | ||||
|      "execution_count": 15, | ||||
|      "execution_count": 1, | ||||
|      "metadata": {}, | ||||
|      "output_type": "execute_result" | ||||
|     } | ||||
|    ], | ||||
|    "source": [ | ||||
|     "from ase.build import mx2\n", | ||||
|     "from ase.visualize import view\n", | ||||
|     "from msspec.calculator import MSSPEC\n", | ||||
|     "from msspec.utils import hemispherical_cluster, get_atom_index\n", | ||||
|     "\n", | ||||
|     "# Some usefull constants (a, c, d, D) for defining the structure\n", | ||||
|     "a=3.535;c=6.004;d=3.450;D=2.554\n", | ||||
|     "\n", | ||||
|     "# Create the TiSe2 trilayer\n", | ||||
|     "# use ase help for this function\n", | ||||
|     "TiSe2 = mx2(formula='TiSe2', kind='1T', a=a, thickness=d, size=(1, 1, 1), vacuum=None)\n", | ||||
|     "\n", | ||||
|     "# The preious cell is 2D, let's define the c-axis to take into account \n", | ||||
|     "# the Van der Waals gap between trilayers\n", | ||||
|     "TiSe2.cell[2] = [0, 0, c]\n", | ||||
|     "\n", | ||||
|     "# To be aligned like in the paper\n", | ||||
|     "TiSe2.rotate(60, 'z', rotate_cell=True)\n", | ||||
|     "\n", | ||||
|     "# Since the material is multi-elements, \"tag\" each inequivalent atom \n", | ||||
|     "# of the unit cell with a number. The \"Ti\" atom is tagged 0 and \"Se\" \n", | ||||
|     "# atoms are 1 and 2.\n", | ||||
|     "for i in range(3): \n", | ||||
|     "    TiSe2[i].tag = i\n", | ||||
|     "\n", | ||||
|     "cluster = hemispherical_cluster(TiSe2, emitter_tag=0, emitter_plane=1, planes=5)\n", | ||||
|     "cluster.emitter = get_atom_index(cluster, 0, 0, 0)\n", | ||||
|     "view(cluster, viewer='x3d')" | ||||
|    ] | ||||
|   }, | ||||
|  | @ -847,7 +853,9 @@ | |||
|     ] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{figure-md} results-completed-fig\n", | ||||
|     "<img src=\"results_completed.jpg\" width=\"400px\" align=\"center\">\n", | ||||
|  | @ -878,7 +886,7 @@ | |||
|    "name": "python", | ||||
|    "nbconvert_exporter": "python", | ||||
|    "pygments_lexer": "ipython3", | ||||
|    "version": "3.11.13" | ||||
|    "version": "3.11.3" | ||||
|   } | ||||
|  }, | ||||
|  "nbformat": 4, | ||||
|  |  | |||
|  | @ -3,7 +3,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "c0a860db-0f72-4785-81f4-831e48b3a49f", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "# Activity 6: Effect of the temperature\n", | ||||
|     "\n", | ||||
|  | @ -73,7 +79,7 @@ | |||
|     "\n", | ||||
|     ":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n", | ||||
|     "With the help of the [MsSpec documentation](https://msspec.cnrs.fr/parameters.html) and the second paragraph p6791 of the [article cited above](#msd-paper),\n", | ||||
|     "complete the hilighted lines in the following script to compute the anisotropy of Cu(2p) $\\phi$-scans for polar angle $\\theta$=45° and 83°.\n", | ||||
|     "complete the hilighted lines in the [following script](Cu_temperature.py \"download\") to compute the anisotropy of Cu(2p) $\\phi$-scans for polar angle $\\theta$=45° and 83°.\n", | ||||
|     "\n", | ||||
|     "How is varying the anisotropy versus the temperature. How can you qualitatively explain this variation ?\n", | ||||
|     "\n", | ||||
|  | @ -98,7 +104,9 @@ | |||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{literalinclude} Cu_temperature_completed.py\n", | ||||
|     ":lineno-match:\n", | ||||
|  | @ -133,7 +141,7 @@ | |||
|    "name": "python", | ||||
|    "nbconvert_exporter": "python", | ||||
|    "pygments_lexer": "ipython3", | ||||
|    "version": "3.11.13" | ||||
|    "version": "3.11.3" | ||||
|   } | ||||
|  }, | ||||
|  "nbformat": 4, | ||||
|  |  | |||
|  | @ -3,7 +3,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "42cfa8b1-20d2-47e4-a1f0-161c4517df2c", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "(path-filtering)=\n", | ||||
|     "# Activity 7: Large clusters and path filtering" | ||||
|  | @ -42,7 +48,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "0f78af28-335e-4f6b-9b98-929f9e6965f8", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "::::{tab-set}\n", | ||||
|     "\n", | ||||
|  | @ -66,16 +78,24 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "a83ee1b8-dc25-4db9-a3bd-c5ba8443f758", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     ":::{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     "To get the total number of paths generated by a cluster of $N$ atoms up to order $M$, use the following formula:\n", | ||||
|     "\n", | ||||
|     "```{math}\n", | ||||
|     ":::{math}\n", | ||||
|     ":label: eq-nbpaths\n", | ||||
|     "\\sum_{i=0}^{i=M} (N-1)^i\n", | ||||
|     "```\n", | ||||
|     ":::\n", | ||||
|     "\n", | ||||
|     ":::{figure-md} nbpaths-fig\n", | ||||
|     "<img src=\"fig1.jpg\" alt=\"path filtering\" width=\"600px\" align=\"center\">\n", | ||||
|  | @ -83,7 +103,7 @@ | |||
|     "The time for computing all scattering path for increasing cluster size and scattering order (up to 6{sup}`th` order with 739 atoms. (One path is assumed to be calculated within 1 µs)\n", | ||||
|     ":::\n", | ||||
|     "\n", | ||||
|     ":::" | ||||
|     "```" | ||||
|    ] | ||||
|   }, | ||||
|   { | ||||
|  | @ -110,7 +130,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "28aae2f7-2af9-4630-b89d-ab634725ad79", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "## Application to a deep plane in a Si(001) sample\n", | ||||
|     "\n", | ||||
|  | @ -129,7 +155,7 @@ | |||
|     "\n", | ||||
|     ":::{tab-item} <i class=\"fa-solid fa-circle-question\"></i> Quiz\n", | ||||
|     "\n", | ||||
|     "The following script is almost completed, try to define path filtering options (no backscattering, accept all paths with forward angles < 40° and reject paths longer than the diameter of the cluster).\n", | ||||
|     "The [following script](Si001.py \"download\") is almost completed, try to define path filtering options (no backscattering, accept all paths with forward angles < 40° and reject paths longer than the diameter of the cluster).\n", | ||||
|     "\n", | ||||
|     "```{literalinclude} Si001.py\n", | ||||
|     ":lineno-match:\n", | ||||
|  | @ -148,9 +174,18 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "19fbd486-b0c1-450c-a00d-79984945aefd", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     "The calculation took few seconds and the result is very close to the calculation with all scattering paths.\n", | ||||
|     "\n", | ||||
|     "Only 0.01% of 3{sup}`rd` order paths were actually taken into account\n", | ||||
|  |  | |||
|  | @ -3,7 +3,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "2ff5929f-c066-496f-b078-0bbc2ab49428", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "# Activity 8: Inequivalent emitters and the XPD of a substrate" | ||||
|    ] | ||||
|  | @ -92,9 +98,17 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "8a3a48ef-196f-435a-b342-3a73e62160f8", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     ":::{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{figure-md} AlN-fig3\n", | ||||
|     "<img src=\"AlN-fig3.jpg\" alt=\"AlN number of clusters\" width=\"600px\" align=\"center\">\n", | ||||
|  | @ -102,7 +116,7 @@ | |||
|     "Number of different clusters to build for Al(2p) and N(1s) in 3 planes\n", | ||||
|     ":::\n", | ||||
|     "\n", | ||||
|     ":::" | ||||
|     "```" | ||||
|    ] | ||||
|   }, | ||||
|   { | ||||
|  | @ -123,9 +137,17 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "abc64fdb-5895-4112-a987-66b3420d78eb", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{figure-md} AlN-fig4\n", | ||||
|     "<img src=\"AlN-fig4.png\" alt=\"AlN results\" width=\"600px\" align=\"center\">\n", | ||||
|  |  | |||
|  | @ -4,7 +4,13 @@ | |||
|    "attachments": {}, | ||||
|    "cell_type": "markdown", | ||||
|    "id": "aa43e0e7-0c18-4750-9e2b-3a48f106d2ca", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "(RFactor)=\n", | ||||
|     "# Activity 9: Comparing simulation and experiment with R-factors\n", | ||||
|  | @ -33,7 +39,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "91c03801-b46b-4844-8c89-655700419063", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "::::{tab-set}\n", | ||||
|     "\n", | ||||
|  | @ -61,9 +73,18 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "d1be5047-fb75-4e98-a6a2-fc6f678e68ff", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     "Here is the code of the `create_cluster` function\n", | ||||
|     "\n", | ||||
|     ":::{literalinclude} COFe_completed.py\n", | ||||
|  | @ -98,9 +119,18 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "670cbd24-efd4-4c51-89e2-f1d96c53908d", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     "Here are the code of the nested *for loops*\n", | ||||
|     "\n", | ||||
|     ":::{literalinclude} COFe_completed.py\n", | ||||
|  | @ -144,9 +174,17 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "aa8d2dc4-286a-441d-9c21-dab6bac8145c", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     "6 R-factors out of 12 do agree that *variable set n°30* gives the best agreement. The set n°30 corresponds to\n", | ||||
|     "$\\theta=55°$ and $\\phi=0°$.\n", | ||||
|  |  | |||
|  | @ -3,7 +3,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "38d3e621-e866-43e1-9c92-f473d1e755c0", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "# Activity 10: Parallelization and multi-processing in MsSpec" | ||||
|    ] | ||||
|  | @ -11,7 +17,13 @@ | |||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "1dccb5e3-1cd3-4732-a7ba-81a8a94c89dc", | ||||
|    "metadata": {}, | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "As you can see from the previous examples, a complete simulation may require several multiple scattering calculations, for instance to calculate the total intensity of a substrate or to optimize the geometry of a system. As the calculations are often time consuming, it can be useful to distribute these tasks over several processors to make the most of hardware resources.\n", | ||||
|     "Although MsSpec is not fully parallelized, the code does offer a number of features, which we will explore here.\n", | ||||
|  | @ -67,10 +79,18 @@ | |||
|   }, | ||||
|   { | ||||
|    "cell_type": "markdown", | ||||
|    "id": "0a1fabce-c42d-4cb4-9720-bcd21ff0cd09", | ||||
|    "metadata": {}, | ||||
|    "id": "3833a4c3-2d47-49e8-b78d-5c97dad47716", | ||||
|    "metadata": { | ||||
|     "editable": true, | ||||
|     "slideshow": { | ||||
|      "slide_type": "" | ||||
|     }, | ||||
|     "tags": [] | ||||
|    }, | ||||
|    "source": [ | ||||
|     "```{toggle}\n", | ||||
|     "```{admonition} *Solution...*\n", | ||||
|     ":class: tip\n", | ||||
|     ":class: dropdown\n", | ||||
|     "\n", | ||||
|     ":::{literalinclude} COFe_mp_completed.py\n", | ||||
|     ":lineno-start: 63\n", | ||||
|  | @ -79,7 +99,6 @@ | |||
|     ":emphasize-lines: 6,7, 9,10, 18\n", | ||||
|     ":::\n", | ||||
|     "\n", | ||||
|     "\n", | ||||
|     "```" | ||||
|    ] | ||||
|   } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue