Computing: Difference between revisions

From phys824
Jump to navigationJump to search
No edit summary
 
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
== MATLAB ==
== Unix Training==
*[[Media:gs_linux.pdf|Getting Started With Linux]]
*[http://www.doc.ic.ac.uk/~wjk/UnixIntro/ UNIX Tutorial]


=== Hands-on training ===
== MATLAB Training ==


=== Hands-on tutorials by Instructor ===
* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/matlab_tutorial_phys824.m MATLAB: Getting Started]
* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/matlab_tutorial_phys824.m MATLAB: Getting Started]
* [http://www.physics.udel.edu/~bnikolic/teaching/phys660/Matlab/sparse_matrices.m MATLAB: Sparse Matrices]
* [http://www.physics.udel.edu/~bnikolic/teaching/phys660/Matlab/sparse_matrices.m MATLAB: Sparse Matrices]
* [http://www.physics.udel.edu/~bnikolic/teaching/phys660/Matlab/fft_matlab.m MATLAB: FFT]
 
=== Hands-on Lab tutorials by MathWorks ===
* [http://www.mathworks.com/academia/student_center/tutorials/launchpad.html MATLAB Student Center]
* [http://www.mathworks.com/academia/student_center/tutorials/launchpad.html MATLAB Student Center]
* [[Media:matlab_pitfals.pdf | Some Common MATLAB Programming Pitfalls and How to Avoid Them]]
*[http://www.mathworks.com/support/2007a/matlab/7.4/demos/RapidCodeIterationUsingCells_viewlet_swf.html Rapid code iteration using cells in the Editor]


=== Reference ===
=== Reference ===
*[[MATLAB Brief List of Commands]]
*[[MATLAB Brief List of Commands]]
*[http://www.mathworks.com/access/helpdesk/help/helpdesk.html MATLAB Documentation]
*[http://www.mathworks.com/access/helpdesk/help/helpdesk.html MATLAB Documentation]
*[http://www.mathworks.com/support/2007a/matlab/7.4/demos/RapidCodeIterationUsingCells_viewlet_swf.html Rapid code iteration using cells in the Editor]
* [[Media:matlab_pitfals.pdf | Some Common MATLAB Programming Pitfalls and How to Avoid Them]]


=== Books and notes ===
=== Books and notes ===
Line 25: Line 28:
*[http://www.physics.udel.edu/%7Ebnikolic/teaching/phys660/PDF/mlab_bench.pdf Multithreaded MATLAB performance on multicores]
*[http://www.physics.udel.edu/%7Ebnikolic/teaching/phys660/PDF/mlab_bench.pdf Multithreaded MATLAB performance on multicores]


=== M-files ===
== MATLAB Scripts ==
 
===Electron density in nanowires using equilibrium density matrix===
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/electron_density.m electron_density.m]
 
===DOS of disordered nanowire using eigenvalues and Anderson localization of eigenfunctions===
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/disordered_nanowire.m disordered_nanowire.m]


*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/electron_density.m electron_density.m] (code for Problem 1 in Homework Set 1)
===Density of states using equilibrium retarded Green function===
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/disordered_nanowire.m disordered_nanowire.m] (code for Problems 2 & 3 in Homework Set 2)
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/dos_negf.m dos_negf.m]  
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/dos_negf.m dos_negf.m] (code to compute the density of states of a nanowire using Green functions)
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/graphene_dos.m graphene_dos.m]  
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/graphene_dos.m graphene_dos.m] (code to compute the density of states of graphene sheet using Green functions)
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/qt_1d.m 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)
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/8zgnr.m 8zgnr.m] (code to compute the subband structure of an infinite zigzag graphene nanoribbon discussed in the Lecture notes)
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/gnr_cond_recursive.m gnr_cond_recursive.m],[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/bstruct.m bstruct.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/blocktosparse.m blocktosparse.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/sparsetoblock.m sparsetoblock.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/h_zigzag.m h_zigzag.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/invnn.m invnn.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/Self.m Self.m], (code to compute the conductance of a finite graphene nanoribbon attached to two semi-infinite graphene electrodes)


=== M-functions ===
===Subband structure of graphene nanoribbons using tight-binding models===
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/8zgnr.m 8zgnr.m] (pedestrian code for 8-ZGNR only)


* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/matrix_exp.m matrix_exp.m] (Exponential, or any other function with small changed in the code, of a Hermitian  matrix)
===Quantum transport in 1D nanowires using NEGF===
* [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/qt_1d.m 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)
* [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 ==
===Tunneling magnetoresistance in 1D models===


=== Hands-on training ===
===Spin-transfer torque in 1D models===


* [http://www.physics.udel.edu/%7Ebnikolic/teaching/phys660/Mathematica/math_start_2008.nb Mathematica: Getting Started]
===Klein tunneling in graphene heterojunctions===
* [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 ===
*[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/gnr_cond_recursive.m gnr_cond_recursive.m],[http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/bstruct.m bstruct.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/blocktosparse.m blocktosparse.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/sparsetoblock.m sparsetoblock.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/h_zigzag.m h_zigzag.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/invnn.m invnn.m], [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/Self.m Self.m], (code to compute the conductance of a finite graphene nanoribbon attached to two semi-infinite graphene electrodes)


* J. J. Kely,  [http://www.physics.umd.edu/courses/CourseWare/EssentialMathematica/ Essential Mathematica for students of science]
== MATLAB functions ==
* L. Pryadko, [http://www.faculty.ucr.edu/~leonid/class/exploring.html Exploring many-body quantum physics with Mathematica]
* [http://www.physics.udel.edu/~bnikolic/teaching/phys824/MATLAB/matrix_exp.m matrix_exp.m] (Exponential, or any other function with small changed in the code, of a Hermitian matrix)
* [http://www.fc.up.pt/cfp/mathematica/ Wolfram Mathematica School on Theoretical Physics]
* [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)


=== Books ===
== Density functional theory using GPAW==


* H. Ruskeepaa, Mathematica Navigator [http://www.elsevier.com/wps/find/bookdescription.cws_home/717653/description#description [publisher Website]]
===Hands-on tutorials by CAMd at Denmark Technical University===
*[https://wiki.fysik.dtu.dk/gpaw/exercises/exercises.html#exercises CAMd Summer School Tutorials]
*[https://wiki.fysik.dtu.dk/gpaw/tutorials/tutorials.html GPAW Tutorials]


== Other Software for Scientific Computing ==
=== Hands-on tutorials by Instructor ===
*Band structure of Fe
*Subbandstructure of graphene nanoribbons
*Subband structure of carbon nanotubes
*Quantum transport through single-molecule nanojunctions


* [http://web.mit.edu/acs/www/numerical.html List of commercial and open source programs for numerics and symbolics]
[[Computer Lab]]
* [http://www.gnu.org/software/octave/ Octave]
* [http://www.sagemath.org/ SAGE]

Latest revision as of 12:08, 10 September 2012

Unix Training

MATLAB Training

Hands-on tutorials by Instructor

Hands-on Lab tutorials by MathWorks

Reference

Books and notes

Implementation Tools

MATLAB Scripts

Electron density in nanowires using equilibrium density matrix

DOS of disordered nanowire using eigenvalues and Anderson localization of eigenfunctions

Density of states using equilibrium retarded Green function

Subband structure of graphene nanoribbons using tight-binding models

  • 8zgnr.m (pedestrian code for 8-ZGNR only)

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

Spin-transfer torque in 1D models

Klein tunneling in graphene heterojunctions

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)

Density functional theory using GPAW

Hands-on tutorials by CAMd at Denmark Technical University

Hands-on tutorials by Instructor

  • Band structure of Fe
  • Subbandstructure of graphene nanoribbons
  • Subband structure of carbon nanotubes
  • Quantum transport through single-molecule nanojunctions

Computer Lab