Computer Lab
From phys824
Jump to navigationJump to search
- Install Anaconda
- If you want to add RISE package for Jupyter notebooks, execute:
conda install -c conda-forge rise
- Install KWANT package:
conda install -c conda-forge kwant
- Install PythTB package:
pip install pythtb --upgrade
- Install and test ASE package:
pip install --upgrade --user ase python -m ase test
- Install GPAW package using Anaconda on MacOS:
JUPYTER notebooks for hands-on practice sessions
- Getting started with Python
- Getting started with NumPy and SciPy
- Getting started with Matplotlib
- Nanostructures in equilibrium with Python
- Nanostructures in equilibrium with PythTB
- Nanostructures in equilibrium with KWANT
- Nanostructures out of equilibrium with KWANT
- Nanostructures out of equilibrium with Python
Python references
- Scipy lecture notes
- NumPy: Absolute Beginners Tutorial
- NumPy: Quickstart tutorial
- NumPy for Matlab users
- Timing Python script performance
- J. M. Stewart, Python for Scientists (Cambridge University Press, Cambridge, 2014). [E-book from UD library]
KWANT references
- VIDEO: Introduction to KWANT
- Learning KWANT through examples
- KWANT tutorial from APS March meetings
- KWANT documentation
- Selecting matrix solvers in KWANT
- KWANT tools
- Conductance of graphene nanoribbons
- Conductance of topological insulators built from graphene nanoribbons
- Spin Hall effect in four terminal devices
- Topological Hall effect in four terminal devices
Density functional theory with GPAW package
How to run GPAW on ulam
GPAW has been installed on ulam with the OS installed python 2.6.
- in order to use the serial version of GPAW type:
python your_gpaw_program.py
- in order to use the parallel version of gpaw use the following syntax (replace 8 with the number of cores you want to use):
mpirun -np 8 gpaw-python_openmpi your_gpaw_program.py
Getting started with GPAW
- VIDEO Tutorial: Electronic structure calculations with GPAW
- VIDEO Tutorial: Overview of GPAW
- VIDEO Tutorial: CO molecule
- Plotting CO wavefunction
- relax.py used in VIDEO Tutorial:
from ase import Atoms from ase.io import write from ase.optimize import QuasiNewton from gpaw import GPAW d = 1.10 # Starting guess for the bond length atoms = Atoms('CO', positions=((0, 0, 0), (0, 0, d)), pbc=False) atoms.center(vacuum=4.0) write('CO.cif', atoms) calc = GPAW(h=0.20, xc='PBE', txt='CO_relax.txt') atoms.set_calculator(calc) relax = QuasiNewton(atoms, trajectory='CO.traj', logfile='qn.log') relax.run(fmax=0.05)
- ASE tutorials
- Basics of GPAW calculations
- Band structure of Ni plotted in three steps
- Lattice constant, DOS, and band structure of Si
- STM simulations
GPAW Exercises Related to Midterm Project
- Band structure of bulk graphene
- Subband structure of graphene nanoribbons
- Subband structure of carbon nanotubes
References
- Electronic structure calculations with GPAW: a real-space implementation of the projector augmented-wave method, J. Phys.: Condens. Matter 22, 253202 (2010). [PDF]
- Parameters selection in GPAW scripts
- LCAO basis set in GPAW
- Parameters selection in ASE to define atomic coordinates
- Density of States in GPAW
- About k-point sampling
First-principles quantum transport calculations using NEGF+DFT within GPAW package
Theory Background
- Crash course on NEGF+DFT codes
- NEGF+DFT within GPAW - see also J. Chen, K. S. Thygesen, and K. W. Jacobsen, Ab initio nonequilibrium quantum transport and forces with the real-space projector augmented wave method, Phys. Rev. B 85, 155140 (2012). [PDF]
- M. Strange, I. S. Kristensen, K. S. Thygesen, and K. W. Jacobsen, Benchmark density functional theory calculations for nanoscale conductance, J. Chem. Phys. 128, 114714 (2008). [PDF]
- D. A. Areshkin and B. K. Nikolić, Electron density and transport in top-gated graphene nanoribbon devices: First-principles Green function algorithms for systems containing a large number of atoms, Phys. Rev. B 81, 155450 (2010). [PDF]