Skip to content

Commit

Permalink
Merge pull request #273 from Exabyte-io/docs/SOF-7376
Browse files Browse the repository at this point in the history
SOF-7376: SOC tutorial
  • Loading branch information
timurbazhirov authored Aug 22, 2024
2 parents 528d480 + 36a2a2f commit f2a2bc0
Show file tree
Hide file tree
Showing 13 changed files with 357 additions and 8 deletions.
3 changes: 3 additions & 0 deletions images/tutorials/soc/bi2se3-slab.webp
Git LFS file not shown
3 changes: 3 additions & 0 deletions images/tutorials/soc/compute-parameters.webp
Git LFS file not shown
3 changes: 3 additions & 0 deletions images/tutorials/soc/important-settings.webp
Git LFS file not shown
3 changes: 3 additions & 0 deletions images/tutorials/soc/relativistic-pseudo.webp
Git LFS file not shown
3 changes: 3 additions & 0 deletions images/tutorials/soc/select-material-and-workflow.webp
Git LFS file not shown
3 changes: 3 additions & 0 deletions images/tutorials/soc/spin-orbit-coupling-flavors.webp
Git LFS file not shown
3 changes: 3 additions & 0 deletions images/tutorials/soc/spin-orbit-coupling-results.webp
Git LFS file not shown
3 changes: 3 additions & 0 deletions images/tutorials/soc/spin-orbit-coupling-workflow.webp
Git LFS file not shown
14 changes: 7 additions & 7 deletions lang/en/docs/tutorials/dft/electronic/spin-magnetic-qe.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"endTime": "00:00:11.000"
},
{
"text": "Performing a materials simulation involves following steps in our web platform. First, <break time='0.5' /> we need to specify the material system by creating or uploading a material structure. <break time='0.5' /> Second, <break time='0.5' /> we have to specify the workflow steps. These two steps can be carried out in any order. You may either create the structure first and then workflow or the other way around. <break time='0.5' /> Note that you may skip the above steps if you already have the required structure or workflow in you library. You may also find the structure and workflow you are looking for in our extensive materials and workflows banks, respectively.",
"text": "Performing a materials simulation involves following steps in our web platform. First, <break time='0.5'/> we need to specify the material system by creating or uploading a material structure. <break time='0.5'/> Second, <break time='0.5'/> we have to specify the workflow steps. These two steps can be carried out in any order. You may either create the structure first and then workflow or the other way around. <break time='0.5'/> Note that you may skip the above steps if you already have the required structure or workflow in you library. You may also find the structure and workflow you are looking for in our extensive materials and workflows banks, respectively.",
"startTime": "00:00:12.000",
"endTime": "00:00:48.000"
},
Expand All @@ -39,7 +39,7 @@
"endTime": "00:00:59.000"
},
{
"text": "For today's demonstration, We will generate the material structure using materials designer in our web platform. Navigate to materials tab. <break time='1.5' /> Click create. <break time='3.0' /> We will clone the existing structure and then modify. Let's create iron oxide with cubic structure. <break time='3.0' /> Set the lattice constant. <break time='3.5' /> Set the atomic positions. <break time='2.0' /> There are two iron and two oxygen atoms in each unit cell. Notice that we have added label 1 and 2 to two iron atoms so that we can specify different spin states to them in antiferromagnetic spin calculation. <break time='1.0' />Finally, <break time='0.5' /> save the structure.",
"text": "For today's demonstration, we will generate the material structure using materials designer in our web platform. Navigate to materials tab. <break time='1.5'/> Click create. <break time='3.0'/> We will clone the existing structure and then modify. Let's create iron oxide with cubic structure. <break time='3.0'/> Set the lattice constant. <break time='3.5'/> Set the atomic positions. <break time='2.0'/> There are two iron and two oxygen atoms in each unit cell. Notice that we have added label 1 and 2 to two iron atoms so that we can specify different spin states to them in antiferromagnetic spin calculation. <break time='1.0'/>Finally, <break time='0.5'/> save the structure.",
"startTime": "00:01:00.000",
"endTime": "00:01:48.000"
},
Expand All @@ -59,7 +59,7 @@
"endTime": "00:02:03.000"
},
{
"text": "Click edit workflow unit. <break time='1.0' /> Expand the details pane.",
"text": "Click edit workflow unit. <break time='1.0'/> Expand the details pane.",
"startTime": "00:02:04.000",
"endTime": "00:02:08.000"
},
Expand All @@ -79,7 +79,7 @@
"endTime": "00:02:35.000"
},
{
"text": "Finally, we need to do the postprocessing of bands obtained in the above steps. Add another unit. <break time='4.0' /> This time select bands dot x executable.",
"text": "Finally, we need to do the postprocessing of bands obtained in the above steps. Add another unit. <break time='4.0'/> This time select bands dot x executable.",
"startTime": "00:02:38.000",
"endTime": "00:02:52.000"
},
Expand All @@ -89,7 +89,7 @@
"endTime": "00:03:05.000"
},
{
"text": "The same way, we add another unit to process the down spin component. <break time='4.0' />Set the spin component equal to 2 for that.",
"text": "The same way, we add another unit to process the down spin component. <break time='4.0'/>Set the spin component equal to 2 for that.",
"startTime": "00:03:08.000",
"endTime": "00:03:17.000"
},
Expand All @@ -99,7 +99,7 @@
"endTime": "00:03:26.000"
},
{
"text": "Navigate to jobs tab, <break time='0.5' />click create new job. <break time='3.0' />Import materials and select iron oxide. <break time='3.0' />Import workflow and select spin magnetic that we just created.",
"text": "Navigate to jobs tab, <break time='0.5'/>click create new job. <break time='3.0'/>Import materials and select iron oxide. <break time='3.0'/>Import workflow and select spin magnetic that we just created.",
"startTime": "00:03:27.000",
"endTime": "00:03:44.000"
},
Expand All @@ -124,7 +124,7 @@
"endTime": "00:04:24.000"
},
{
"text": "Once finished, let's navigate to the results tab. We will see separate plots for both up and down spin components of bandstructure. <break time='1.0' /> We can zoom in to see the bands near the Fermi energy more clearly.",
"text": "Once finished, let's navigate to the results tab. We will see separate plots for both up and down spin components of bandstructure. <break time='1.0'/> We can zoom in to see the bands near the Fermi energy more clearly.",
"startTime": "00:04:25.000",
"endTime": "00:04:38.000"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"descriptionLinks": [
"How to incorporate spin-orbit coupling in Quantum ESPRESSO: https://docs.mat3ra.com/tutorials/dft/electronic/soc-qe/"
],
"description": "In this tutorial, we walk you through the steps of incorporate spin-orbit coupling effect in bandstructure calculation using Quantum ESPRESSO.",
"tags": [
{
"...": "../../../metadata/general.json#/tags"
},
{
"...": "../../../models-directory/dft.json#/tags"
},
{
"...": "../../../software-directory/modeling/quantum-espresso.json#/tags"
},
"bandstructure",
"slab",
"soc",
"spin",
"spin-orbit-coupling",
"supercell",
"surface-state",
"topological-insulator"
],
"title": "Mat3ra Tutorial: How to incorporate spin-orbit coupling in Quantum ESPRESSO",
"youTubeCaptions": [
{
"text": "We would like to increase the density of k grid for self consistent field calculation.",
"startTime": "00:00:06.000",
"endTime": "00:00:11.000"
},
{
"text": "Navigate to the compute tab.",
"startTime": "00:00:14.000",
"endTime": "00:00:15.500"
},
{
"text": "Here we can adjust time limit <break time='1.0'/>, cluster <break time='2.0'/>, queue <break time='3.0'/>, number of nodes <break time='1.0'/>, and number of processor cores. <break time='2.0'/> Save and exit job designer.<break time='2.0'/> Finally, click the run button to submit job.",
"startTime": "00:00:17.000",
"endTime": "00:00:38.000"
},
{
"text": "Once the job is finished, navigate to the results tab. Here we will find summary of various result including the bandstructure plot. If we zoom in, we can see the bands near the Fermi energy more clearly. Note the bandstucture we are currently looking at, was obtained with coarse convergence criterion. You need to increase the k grid density and stringent energy threshold to see the topological Dirac states clearly. You can compare the bandstructure for slab and bulk calculation, and identify the surface states.",
"startTime": "00:00:39.000",
"endTime": "00:01:07.000"
},
{
"text": "All output files can be found under the files tab for further analysis.",
"startTime": "00:01:08.000",
"endTime": "00:01:13.000"
},
{
"text": "Thank you for watching this tutorial. Now, explore more yourself at platform dot matera dot com.",
"startTime": "00:01:14.000",
"endTime": "00:01:19.000"
}
],
"youTubeId": "Zr1jcalLYPU"
}
159 changes: 159 additions & 0 deletions lang/en/docs/tutorials/dft/electronic/spin-orbit-coupling-qe.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
{
"descriptionLinks": [
"How to incorporate spin-orbit coupling in Quantum ESPRESSO: https://docs.mat3ra.com/tutorials/dft/electronic/soc-qe/"
],
"description": "In this tutorial, we walk you through the steps of incorporate spin-orbit coupling effect in bandstructure calculation using Quantum ESPRESSO.",
"tags": [
{
"...": "../../../metadata/general.json#/tags"
},
{
"...": "../../../models-directory/dft.json#/tags"
},
{
"...": "../../../software-directory/modeling/quantum-espresso.json#/tags"
},
"bandstructure",
"slab",
"soc",
"spin",
"spin-orbit-coupling",
"supercell",
"surface-state",
"topological-insulator"
],
"title": "Mat3ra Tutorial: How to incorporate spin-orbit coupling in Quantum ESPRESSO",
"youTubeCaptions": [
{
"text": "Hi, <break time='0.5'/> in this short tutorial, we will demonstrate how to incorporate spin-orbit coupling effect in density functional theory calculations using Quantum ESPRESSO. <break time='0.5'/> We will also go through how to build supercell and slabs structures.",
"startTime": "00:00:00.500",
"endTime": "00:00:15.100"
},
{
"text": "Performing a density functional theory simulation involves following steps in our web platform. First, <break time='0.5'/> we need to specify the material system by creating or uploading a material structure. <break time='0.5'/> Second, <break time='0.5'/> we have to specify the workflow steps. These two steps can be carried out in any order. You may either create the structure first and then workflow or the other way around. <break time='0.5'/> Note that you may skip the above steps if you already have the required structure or workflow in you library.",
"startTime": "00:00:16.000",
"endTime": "00:00:46.000"
},
{
"text": "You may also find the structure and workflow you are looking for in our extensive materials and workflows banks, respectively.",
"startTime": "00:00:46.500",
"endTime": "00:00:53.000"
},
{
"text": "Finally, we need to crate and submit job, where we can specify the materials system, the workflow steps, and compute parameters as suitable for a specific calculation.",
"startTime": "00:00:54.000",
"endTime": "00:01:04.000"
},
{
"text": "For current demonstration, we will generate the material structure using materials designer in our web platform. Navigate to materials tab. <break time='1.5'/> Click create. <break time='3.0'/> Let's clone the existing structure and modify it.",
"startTime": "00:01:05.000",
"endTime": "00:01:22.000"
},
{
"text": "We will create bismuth selenide slab. Bismuth selenide is a prototypical topological insulating material, which features a bulk bandgap and conducting surface state.",
"startTime": "00:01:22.500",
"endTime": "00:01:33.000"
},
{
"text": "Bismuth selenide has hexagonal crystal structure. Set the lattice parameters and atomic positions accordingly. Here we will create a slab which has a surface in order to show the topological surface states. Keep in mind that density functional theory calculation can only be performed on periodic systems. We can create surface by adding finite vacuum to the unit cell.",
"startTime": "00:01:34.000",
"endTime": "00:01:56.000"
},
{
"text": "We add an extra selenium atom to the structure, which actually belongs to the next unit cell in the periodic system, and equivalent to the selenium atom at coordinate zero zero zero, so that we are not left with dangling Bismuth bonds.",
"startTime": "00:01:57.000",
"endTime": "00:02:12.000"
},
{
"text": "To add vacuum layer, we select preserving the interatomic distances and increase the lattice vector C. Here we added a vacuum of about ten angstrom in the A B plane.",
"startTime": "00:02:12.500",
"endTime": "00:02:23.000"
},
{
"text": "If we enable the repetitions it will be more clear that every layer is accompanied by a vacuum layer.",
"startTime": "00:02:24.000",
"endTime": "00:02:30.000"
},
{
"text": "Now let's save the structure.",
"startTime": "00:02:36.000",
"endTime": "00:02:38.000"
},
{
"text": "Note that instead of monolayer slab in this case, we could build slab with bi-layer or any other super cell. <break time='2.0'/>You may like to explore various advanced options to build structures in our platform.",
"startTime": "00:02:42.000",
"endTime": "00:02:54.000"
},
{
"text": "Next navigate to the workflows page to specify the workflow steps for spin orbit coupling calculation.",
"startTime": "00:02:55.000",
"endTime": "00:03:06.000"
},
{
"text": "We are going to use latest version of quantum espresso built with intel libraries.",
"startTime": "00:03:12.000",
"endTime": "00:03:20.000"
},
{
"text": "For spin orbit coupling calculation, we will need fully relativistic pseudopotential.",
"startTime": "00:03:21.000",
"endTime": "00:03:25.000"
},
{
"text": "Click edit unit, and select P W SCF S O C template.",
"startTime": "00:03:26.000",
"endTime": "00:03:30.000"
},
{
"text": "Add next unit for the bands calculation.",
"startTime": "00:03:35.000",
"endTime": "00:03:38.000"
},
{
"text": "Select P W bands S O C template.",
"startTime": "00:03:42.000",
"endTime": "00:03:44.000"
},
{
"text": "Finally add the bands dot x postprocessing unit.",
"startTime": "00:03:46.000",
"endTime": "00:03:48.000"
},
{
"text": "Save and exit workflow.",
"startTime": "00:03:57.000",
"endTime": "00:03:58.000"
},
{
"text": "Finally, navigate to the job designer. Create a new job, you may create it under a specific project or inside the default project. <break time='8.0'/> Select bismuth selenide slab as material. <break time='6.0'/>Select bismuth selenide spin orbit coupling workflow.",
"startTime": "00:04:01.000",
"endTime": "00:04:23.000"
},
{
"text": "Now click view unit. <break time='3.0'/> We will see template with various Jinja variable place holders. <break time='2.0'/> We can also preview the actual rendered input file.",
"startTime": "00:04:28.000",
"endTime": "00:04:41.000"
},
{
"text": "The variables in jinja placeholders can be modified in the important settings tab. If necessary, one can override an input parameter, or add new parameters by directly editing the template. For example, we can add better convergence threshold for self consistent field calculation.",
"startTime": "00:04:42.000",
"endTime": "00:05:00.000"
},
{
"text": "Similarly, you may want to edit other input templates. Let's navigate to important setting tab, and update various parameters as suitable.",
"startTime": "00:05:02.000",
"endTime": "00:05:10.000"
},
{
"text": "Specific to spin orbit coupling calculation, we can set the starting magnetization for each atomic species. In this case both are non-magnetic atoms. We could also start a calculation from a previously converged calculation that was done without spin orbit coupling enabled. Explore other available advanced options.",
"startTime": "00:05:17.000",
"endTime": "00:05:35.000"
},
{
"text": "Scroll down to bands calculation, here we can edit the k path for bands calculation, and number of points between specified k points.",
"startTime": "00:05:34.000",
"endTime": "00:05:44.000"
}
],
"youTubeId": "Zr1jcalLYPU"
}
Loading

0 comments on commit f2a2bc0

Please sign in to comment.