Computing: Difference between revisions

From phys824
Jump to navigationJump to search
No edit summary
Line 40: Line 40:
* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/visual_graphene_H.m 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): [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/atomCoord.m atomCoord.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/atomPosition.m atomPosition.m], and [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/constrainView.m constrainView.m]
* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/visual_graphene_H.m 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): [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/atomCoord.m atomCoord.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/atomPosition.m atomPosition.m], and [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/constrainView.m constrainView.m]
* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/self_energy.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)
* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/self_energy.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)
== Mathematica ==
=== Hands-on training ===
* [http://www.physics.udel.edu/%7Ebnikolic/teaching/phys660/Mathematica/math_start_2008.nb Mathematica: Getting Started]
* [http://www.physics.udel.edu/%7Ebnikolic/teaching/phys660/Mathematica/math_ode_2008.nb Mathematica: Differential Equations]
* [http://www.physics.udel.edu/%7Ebnikolic/teaching/phys660/Mathematica/math_ode_2008.nb Mathematica: Linear Algebra]
* [http://www.wolfram.com/broadcast/screencasts/handsonstart/ Wolfram hands-on start to Mathematica]
=== Tutorials ===
* J. J. Kely,  [http://www.physics.umd.edu/courses/CourseWare/EssentialMathematica/ Essential Mathematica for students of science]
* L. Pryadko, [http://www.faculty.ucr.edu/~leonid/class/exploring.html Exploring many-body quantum physics with Mathematica]
* [http://www.fc.up.pt/cfp/mathematica/ Wolfram Mathematica School on Theoretical Physics]
=== Books ===
* H. Ruskeepaa, Mathematica Navigator [http://www.elsevier.com/wps/find/bookdescription.cws_home/717653/description#description [publisher Website]]
== Other Software for Scientific Computing ==
* [http://web.mit.edu/acs/www/numerical.html List of commercial and open source programs for numerics and symbolics]
* [http://www.gnu.org/software/octave/ Octave]
* [http://www.sagemath.org/ SAGE]

Revision as of 12:09, 29 August 2012

MATLAB

Hands-on Lab Sessions

Reference

Books and notes

Implementation Tools

M-files

  • electron_density.m (code for Problem 1 in Homework Set 1)
  • disordered_nanowire.m (code for Problems 2 & 3 in Homework Set 2)
  • dos_negf.m (code to compute the density of states of a nanowire using Green functions)
  • graphene_dos.m (code to compute the density of states of graphene sheet using Green functions)
  • 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)
  • 8zgnr.m (code to compute the subband structure of an infinite zigzag graphene nanoribbon discussed in the Lecture notes)
  • 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-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)