From 0ebb2bcaa841e6a846e7f457db0060bb99c4a237 Mon Sep 17 00:00:00 2001 From: Nick Papior Date: Thu, 8 Nov 2018 23:06:18 +0100 Subject: [PATCH] updated A5 Signed-off-by: Nick Papior --- A05/run.ipynb | 17 +++++++++++------ S_01/RUN.fdf | 19 ++++++++++++++++++- S_01/run.ipynb | 19 ++++--------------- tutorial.ipynb | 9 +++++---- 4 files changed, 38 insertions(+), 26 deletions(-) diff --git a/A05/run.ipynb b/A05/run.ipynb index c18b5f3..6553878 100644 --- a/A05/run.ipynb +++ b/A05/run.ipynb @@ -80,7 +80,7 @@ "outputs": [], "source": [ "elec = sisl.Geometry([0] * 3, sisl.Atom(6, R=1.), [1, 1, 10]).tile(2, 0).tile(2, 1)\n", - "elec.set_nsc(b=1)\n", + "elec.set_nsc(a=3, b=1)\n", "H_elec = sisl.Hamiltonian(elec)\n", "H_elec.construct(([0.1, 1.1], [0., -1]))\n", "H_elec.write('ELEC.nc')" @@ -138,15 +138,20 @@ " # we have to also set the coupling into C60\n", " # (to assert Hermiticity)\n", " H[ia, i] = 0.1\n", - " H[i, ia] = 0.1" + " H[i, ia] = 0.1\n", + "H.write('DEVICE.nc')" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "Calculating projceted transmissions is verbose because multiple things is required to be defined. The following flags are required to be specified, careful read about each of them:\n", + "- TBT.Atoms.Device\n", + "- TBT.Projs (name the projection `C60`)\n", + "- TBT.Proj.<> (create a HOMO and a LUMO projection)\n", + "- TBT.Projs.T" + ] } ], "metadata": { diff --git a/S_01/RUN.fdf b/S_01/RUN.fdf index 6e9ae87..1661264 100644 --- a/S_01/RUN.fdf +++ b/S_01/RUN.fdf @@ -28,4 +28,21 @@ MD.NumCGSteps 0 SaveHS true TS.HS.Save true -%include STRUCT.fdf +LatticeConstant 1.0 Ang +%block LatticeVectors + 2.16000000 1.24707658 0.00000000 + 2.16000000 -1.24707658 0.00000000 + 0.00000000 0.00000000 14.40000000 +%endblock LatticeVectors + +NumberOfAtoms 2 +AtomicCoordinatesFormat Ang +%block AtomicCoordinatesAndAtomicSpecies + 0.00000000 0.00000000 0.00000000 1 # 1: C + 1.44000000 0.00000000 0.00000000 1 # 2: C +%endblock AtomicCoordinatesAndAtomicSpecies + +NumberOfSpecies 1 +%block ChemicalSpeciesLabel + 1 6 C +%endblock ChemicalSpeciesLabel diff --git a/S_01/run.ipynb b/S_01/run.ipynb index 4e80652..2917dfb 100644 --- a/S_01/run.ipynb +++ b/S_01/run.ipynb @@ -24,17 +24,6 @@ "We remark that settings during the Siesta/TranSiesta tutorials are not necessarily converged or proper settings. Users need to invest time in understanding the intrinsics of Siesta before performing real calculations!" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "graphene = sisl.geom.graphene(1.44)\n", - "graphene.write('STRUCT.fdf')\n", - "graphene.write('STRUCT.xyz')" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -56,12 +45,12 @@ " H_TSHS = sisl.Hamiltonian.read('siesta.TSHS')\n", " \n", " print the objects and note the difference between the two objects.\n", - " What do you think these differences mean?\n", + " What do you think these differences mean? (it isn't relevant for this tutorial, but it will be in later tutorials).\n", " \n", - "3. Calculate the $\\Gamma$-point eigen spectrum using both above Hamiltonians (search the sisl documentation for `eigh`), are they different? If so, why, if not, why not? Once answered, you should know which of the two above methods is the *best* way to read the electronic structure. \n", + "3. Calculate the $\\Gamma$-point eigen spectrum using both above Hamiltonians (search the sisl documentation for `eigh`), are they different? If so, why, if not, why not?\n", "\n", "4. Calculate the band-structure using the DFT electronic structure using `sisl`. Also calculate the band-structure using the tight-binding Hamiltonian ([TB 1](../TB_01/run.ipynb)) and compare the two. \n", - "HINT: zoom in on an energy-range from $-3$ eV to $3$ eV and plot both the DFT bands and the TB bands in the same plot. " + "*HINT*: zoom in on an energy-range from $-3$ eV to $3$ eV and plot both the DFT bands and the TB bands in the same plot. " ] }, { @@ -91,7 +80,7 @@ "outputs": [], "source": [ "# Calculate band-structure from DFT Hamiltonian and TB Hamiltonian\n", - "band = sisl.BandStructure(graphene, )\n", + "band = sisl.BandStructure(sisl.geom.graphene(), )\n", "xtick, xtick_label = band.lineartick()\n", "lk = band.lineark()\n", "\n", diff --git a/tutorial.ipynb b/tutorial.ipynb index 7985162..8c72e85 100644 --- a/tutorial.ipynb +++ b/tutorial.ipynb @@ -70,7 +70,8 @@ "# Tutorials\n", "\n", "This tutorial is made up in consecutive examples such that one is first, introduced to the transport methodology using TBtrans. So called “tight-binding” Hamiltonians are excellent examples to understand the methodology. They are extremely simple and may be used to shed light on more complicated issues. \n", - "Subsequent to the understanding of sisl and TBtrans, the tutorial will present examples of self-consistent bias calculations using TranSiesta. These are merely extensions of the same simplistic modelling and we try and retrieve the same results as using sisl and TBtrans. If your interest lie only with TranSiesta, do not be tempted to skip the tight-binding exercises. By understanding the underlying methodology for simple transport problems it becomes much easier to extrapolate to more complex/larger systems!" + "Subsequent to the understanding of sisl and TBtrans, the tutorial will show how to analyze generic output from the DFT, Siesta. In particular the calculation of band-structures, DOS and plotting real-space quantities. \n", + "Lastly, the tutorial presents examples of self-consistent bias calculations using TranSiesta. These are merely extensions of the same simplistic modelling used in the tight-binding calculation and we try and retrieve the same results as using sisl and TBtrans. If your interest lie only with TranSiesta, do not be tempted to skip the tight-binding, nor Siesta, exercises. By understanding the underlying methodology for simple transport problems it becomes much easier to extrapolate to more complex/larger systems!" ] }, { @@ -91,7 +92,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The tutorials may be found in the sub-folders (or by pressing these links):\n", + "The tutorials may be found in sub-folders (or by pressing the links):\n", "\n", "### Tight-binding\n", "- [TB 1](TB_01/run.ipynb) \n", @@ -126,7 +127,7 @@ " \n", "### Siesta\n", "\n", - "Siesta has many utilities to post-process output such as, calculating DOS from the eigenspectrum, analyzing real-space charge and plotting of molecular orbitals/wavefunctions (for experienced Siesta users `denchar` should be a familiar name). These tutorials shows how to use `sisl` to do the same analysis. It may be useful to read [this page](http://zerothi.github.io/sisl/docs/latest/api-generated/sisl.io.html#siesta-siesta) which contains the current list of files that `sisl` may interact with.\n", + "Siesta has many utilities to post-process output such as, calculating DOS from the eigenspectrum, analyzing real-space charge and plotting molecular orbitals/wavefunctions (for experienced Siesta users `denchar` should be a familiar name). These tutorials shows how to use `sisl` to do the same analysis. It may be useful to read [this page](http://zerothi.github.io/sisl/docs/latest/api-generated/sisl.io.html#siesta-siesta) which contains the current list of files that `sisl` may interact with.\n", "\n", "- [S 1](S_01/run.ipynb) \n", " A first hands-on using `sisl` to read in the electronic structure from DFT output.\n", @@ -162,7 +163,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In addition to the above examples there are a few *advanced* examples were you are challenged by the capabilities of TBtrans and TranSiesta.\n", + "In addition to the above examples there are a few *advanced* examples where you are challenged by the capabilities of TBtrans and TranSiesta.\n", "\n", "### Advanced examples\n", "\n",