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