Computer Lab
From phys824
Jump to navigationJump to search
Unix Training
- Getting Started With UNIX/Linux
- Summary of Basic Unix Commands
- UNIX Tutorial
- UD Mills Supercomputer User Guide
MATLAB Training
Hands-on tutorials by Instructor
Hands-on Lab tutorials by MathWorks
Reference
- MATLAB Brief List of Commands
- MATLAB Documentation
- Some Common MATLAB Programming Pitfalls and How to Avoid Them
Books and notes
- C. Moler: Numerical Computing with MATLAB (SIAM, Philadelphia, 2004). [PDF]
- UD Crash Course on Matlab
Implementation Tools
MATLAB Scripts
Electron density in nanowires using equilibrium density matrix
DOS of 1D disordered nanowire using eigenvalues + visualization of Anderson localization of eigenfunctions
Density of states using equilibrium retarded Green function
- dos_negf_closed.m computes DOS for finite 1D wire
- dos_negf_open.m computes DOS for finite 1D wire attached to one or two macroscopic reservoirs
- graphene_dos.m computes DOS for a supercell of graphene with periodic boundary conditions
Magnetic field on the lattice
Subband structure of graphene nanoribbons using tight-binding models
- 8zgnr.m (poor man's script programming literally the lecture slide - works only for 8-ZGNR)
Quantum transport in 1D nanowires using NEGF
- qt_1d.m (code to compute the conductance and total and local density of states of a 1D nanowire, with possible potential barriers or impurities, attached to two semi-infinite electrodes)
Tunneling magnetoresistance in 1D models of magnetic tunnel junctions
- tmr_1d.m (code to compute conductance of F/I/F junction as a function of angle between magnetizations using 1D tight-binding Hamiltonian)
Spin-transfer torque in 1D models of magnetic tunnel junctions
- stt_1d.m (code to compute in-plan torque component in F/I/F junction using 1D tight-binding Hamiltonian)
Quantum transport in graphene nanostructures using NEGF
- gnr_cond_recursive.m,bstruct.m, blocktosparse.m, sparsetoblock.m, h_zigzag.m, invnn.m, Self.m, (code to compute the conductance of a finite graphene nanoribbon attached to two semi-infinite graphene electrodes)
- M.-H. Liu and K. Richter, Efficient quantum transport simulation for bulk graphene heterojunctions, arXiv:1206.0266.
MATLAB functions
- matrix_exp.m (Exponential, or any other function with small changed in the code, of a Hermitian matrix)
- visual_graphene_H.m (For a given tight-binding Hamiltonian on the honeycomb lattice, function plots position of carbon atoms and draws blue lines to represent hoppings between them; red circles to represent on-site potential between them; and cyan lines to represent the periodic boundary conditions; it can be used to test if the tight-binding Hamiltonian of graphene is set correctly); This function calls another three function which should be placed in the same directory (or in the path): atomCoord.m, atomPosition.m, and constrainView.m
- self_energy.m (Self-energy of the semi-infinite ideal metallic lead modeled on the square tight-binding lattice - the code shows how to convert analytical formulas of the lead surface Green function into a working program)
DFT calculations using GPAW
GPAW Technical Details
- J. Enkovaara et. al., Electronic structure calculations with GPAW: a real-space implementation of the projector augmented-wave method, J. Phys.: Condens. Matter 22, 253202 (2010). [PDF]
- LCAO basis set in GPAW
GPAW Exercises
- How to submit GPAW jobs on mills
- A short introduction to Python
- Documentation for ASE (Atomistic Simulation Environment) to Construct the system
- Documentation for GPAW module to calculate electronic structure
- Getting started with GPAW (structure and binding energies of simple molecules)
- Basics of GPAW calculations
- Band structure of Fe
- DOS of Fe
- Band structure of bulk graphene
- Subband structure of graphene nanoribbons
- Subband structure of carbon nanotubes