Computer Lab: Difference between revisions

From phys824
Jump to navigationJump to search
No edit summary
Line 27: Line 27:
==Python references==
==Python references==
* J. M. Stewart, Python for Scientists (Cambridge University Press, Cambridge, 2014). ([https://delcat.worldcat.org/title/python-for-scientists/oclc/885338129&referer=brief_results PDF from UD library])
* J. M. Stewart, Python for Scientists (Cambridge University Press, Cambridge, 2014). ([https://delcat.worldcat.org/title/python-for-scientists/oclc/885338129&referer=brief_results PDF from UD library])
* [https://numpy.org/doc/1.19/user/absolute_beginners.html NumPy: the absolute basics for beginners]
* [http://www.scipy-lectures.org/ Scipy lecture notes]
* [http://www.scipy-lectures.org/ Scipy lecture notes]
* [https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html NumPy for Matlab users]
* [https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html NumPy for Matlab users]

Revision as of 07:37, 29 August 2020

Python and package installation

conda install -c conda-forge kwant
pip install pythtb --upgrade
pip install --upgrade --user ase
python -m ase test

JUPYTER notebooks for hands-on computer lab sessions

Python references

  • J. M. Stewart, Python for Scientists (Cambridge University Press, Cambridge, 2014). (PDF from UD library)

KWANT references

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

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)

GPAW Exercises Related to Midterm Project

References

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]

GPAW Exercises