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
- Getting started with Python
- Getting started with NumPy and SciPy
- Getting started with Matplotlib
- Nanostructures in equilibrium with Python
- Nanostructures out of equilibrium with Python
- Nanostructures in equilibrium with PythTB
- Nanostructures in equilibrium with KWANT
- Nanostructures out of equilibrium with KWANT
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
- KWANT documentation
- VIDEO: Introduction to KWANT
- Learning KWANT through examples
- Selecting matrix solvers in KWANT
- KWANT tools
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]