Ben Haley

Scientific computing

Scientific computing for atomistic tight binding and NEGF Ben Haley

Objective:

  • Implement atomistic strain calculation for nanowires and quantum dots in OMEN
  • Increase speed of matrix construction for recomputed Hamiltonian in NEMO 3D
  • Track memory usage in OMEN
  • Develop scripting interfaces for OMEN

Approach:

  • Serial (1D decomposition) and parallel (3D decomposition) Valence Force Field calculation using C++ in OMEN
  • Explicitly unroll loops over orbitals in NEMO 3D matrix element calculation
  • Implement memory allocation in OMEN using the NEMO Math Library
  • Develop a new language, OWL, for OMEN scripting, as well as Python, Tcl, and Ruby bindings for OMEN

Impacts and Results:

  • Correctly handling atomic displacements allows for truly realistic simulations of both nanowires and quantum dots
  • Explicit Hamiltonian construction increased the speed of NEMO 3D recompute calculations by a factor of five
  • Identifying memory usage bottlenecks in OMEN leads to streamlined and optimized performance
  • Top level scripts in OWL, Python, Ruby, and Tcl allow specific modules of OMEN to run and interact with other programs
  • The changes to the OMEN code base for the scripting interfaces allow for the development of a material database, which can be called from OMEN or any other code which needs material properties.

Powerpoint slide as ppt, pdf, or as image below.